The value of option can be:
- "end": buffer is added after the end of list (number = last number + 1)
- "first_gap": buffer is added at first number available in the list
(after the end of list if no number is available)
Since commits d03eb52d49 and
0c48b7ab8b, the IRC color codes are the
same in input line and messages, so the function
irc_color_decode_for_user_entry is not needed any more.
It was used only to decode colors when completing the command /topic
(with the channel topic).
Other clients are using 0x16, and not 0x12 that was the default in
WeeChat (which was able to decode both 0x12 and 0x16).
Now the 0x12 is not decoded and does not make reverse video any more.
The problem happened because we used a pointer to a
"struct t_gui_buffer_visited" for the switch to another buffer,
when the buffer is closed. This is executed in all windows displaying
the buffer, but on each switch to buffer, the visited buffers are
updated and therefore the address can change. The pointer becomes
invalid, and WeeChat still uses it on next windows for the buffer
switch.
It happened rarely because the visited buffer is freed and allocated
immediately after, so the address is often the same in memory.
Thanks to silverd for the tests on OS X to track the problem.
New option: weechat.look.buffer_auto_renumber, boolean which is on by
default, so the behavior is the same: no gap is allowed in numbers,
they start at number 1 and they are auto-renumbered after each command
like /buffer move, /buffer merge, ...
A new option "renumber" has been added in command /buffer, to renumber
a range of buffers (or all).
Changes when the option weechat.look.buffer_auto_renumber is off:
- command "/buffer move":
- the current number will be left free for use, and the
target number can be any number >= 1 (possibly higher than the
current last buffer number)
- the value can be "-" (which moves the buffer to number 1)
or "+" (which moves the buffer to the end, ie last number + 1)
- command "/buffer swap":
- now the buffers are swapped in the list without being "moved"
- comand "/buffer [+/-]N":
- it is now working with gaps in buffer numbers
- command "/buffer merge":
- it can now merge a group of merged buffers into another buffer
(or buffers merged themselves)
- layout can restore buffer numbers with gaps in numbers
This reverts commits 14cf7bd20f and
262dff4b87.
The initial fix was for a problem with irc autojoin and layout: the
current window has not appropriate buffer (as defined in layout) if it
is not the latest channel in "autojoin" option.
So the way to fix this problem is to set the value of option
irc.look.buffer_switch_autojoin to off.