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
The logical "and" is made with the separator "+".
Example: "irc_notice+nick_toto,nick_test"
will match a notice from nick "toto" or any message from nick "test".
The update of variables "buffer_max_length" and "prefix_max_length" in struct
t_gui_lines is now delayed and made during the main refresh (in main loop).
For a buffer with 50K lines, it is up to 3300 times faster to clear/close it.
For a buffer with 4096 lines (default limit), it is up to 120 times faster.
To fix this bug, a feature has been removed: the first message with a nick has
the prefix forced (to not display the value of weechat.look.prefix_same_nick on
top of screen), commit was: 04e98c3f29
This feature may be reintroduced in a future commit.
New options:
- weechat.look.color_nick_offline: boolean to enable feature (off by default)
- weechat.color.chat_nick_offline: color for offline nicks (displayed in prefix)
Bugs fixed:
- hide/replace prefix only if prefix is a nick (do not do it for join/part/quit or action messages)
- hide/replace prefix only when displaying messages (do not cache value in lines)
The nick color used in replacement string comes from tag "prefix_nick_ccc", where "ccc" is the color of nick.