Restore original signals caught: "buffer_moved" and "buffer_closed", and the
signal "buffer_localvar_*" is added so that any local variable
added/changed/removed triggers a re-sort of hotlist.
This does the same as the lead_linebreak option in multiline.pl. That
is, when the input contains more than one line, the first line will be
displayed beneath the previous items in the bar. This is practical
because all the lines in the input will be aligned.
Related to #1498
The previous commit e385eec1d6 fixed default
value for bar added by plugins and option "items" in all bars.
This commit fixes the default value of all bar options.
The bar item "buffer_nicklist_count" is now the number of displayed nicks
only (not groups).
New bar items:
- "buffer_nicklist_count_groups": number of groups displayed
- "buffer_nicklist_count_all": number of nicks and groups displayed
Supporting multiple lines in the input bar is useful even for buffers
without input_multiline set, because it enables you to compose multiple
lines at once, even if it is sent as multiple messages. It is
particularly useful when you paste multiple lines and want to edit some
of it before you send the message.
It's faster to use a string with dynamic size, rather than looping on the whole
nicklist to compute the length of result string, before looping again to build
the string.
This pointer is the first argument received by callbacks, and the
existing argument "data" is now automatically freed by WeeChat when the
object containing the callback is removed.
With this new pointer, the linked list of callbacks in scripts has been
removed. This will improve speed of scripts (using a lot of hooks),
reduce memory used by scripts and reduce time to unload scripts.
Following functions are affected in the C API:
* exec_on_files
* config_new
* config_new_section
* config_new_option
* hook_command
* hook_command_run
* hook_timer
* hook_fd
* hook_process
* hook_process_hashtable
* hook_connect
* hook_print
* hook_signal
* hook_hsignal
* hook_config
* hook_completion
* hook_modifier
* hook_info
* hook_info_hashtable
* hook_infolist
* hook_hdata
* hook_focus
* unhook_all_plugin
* buffer_new
* bar_item_new
* upgrade_new
* upgrade_read