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 d03eb52d4992c46b01c47d076ae5ef5aa68be10c and
0c48b7ab8bbd4b5b2f5bb73f3e96930091fa7ead, 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 14cf7bd20fb3f00b18343464c175a0c4e3556149 and
262dff4b87ebf14a11fe83899fe168bc5a72ffe6.
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.
Since commit 14cf7bd20fb3f00b18343464c175a0c4e3556149, the value "auto"
will switch buffer only if there is no layout defined for the current
window, or if the buffer displayed is NOT the buffer in the layout
(so if the buffer is defined in the layout, no switch).
CMake was displaying some warnings about a space in argument used for
asciidoc command:
-a date=`date "+%F"`
Warning displayed:
CMake Warning (dev) in doc/en/CMakeLists.txt:
Syntax Warning in cmake code at
/path/to/doc/en/CMakeLists.txt:41:82
Argument not separated from preceding token by whitespace.
This warning is for project developers. Use -Wno-dev to suppress it.
Bug was visible with such colored string in IRC:
^Cc7,5 one ^Cc ^Cc7 two
Before the fix, the word "two" had a red background.
The "^Cc" should reset both color + background, so now it does not have
a background any more.