1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-24 20:06:38 +02:00
Commit Graph

6644 Commits

Author SHA1 Message Date
Sébastien Helleu fad7231f90 doc: stop build of docs if a locale is missing, add CMake option "ENABLE_DOC_WARN_LOCALE" (issue #1985) 2023-07-31 21:31:53 +02:00
Sébastien Helleu cf1e073446 core: add missing trailing newline char in doc generation error messages 2023-07-31 08:07:33 +02:00
Sébastien Helleu b2cd9d002b irc: fix switch to channel manually joined (issue #1982)
This happens when server option autojoin_dynamic is on and option
irc.look.buffer_switch_autojoin is off.

Regression was introduced in version 4.0.0 by commit
1c3b871204.
2023-07-31 08:05:26 +02:00
Sébastien Helleu 9312211d49 core: fix input length and crash after delete of line (issue #1989) 2023-07-28 07:19:07 +02:00
Sébastien Helleu 2ad27b41a5 irc: fix memory leak in IRC message parser
Bug was introduced in WeeChat 3.4 by commit
c4b4d80936.
2023-07-20 08:57:50 +02:00
Sébastien Helleu ef68312393 irc: fix display of self CTCP message containing bold attribute (issue #1981) 2023-07-18 18:54:02 +02:00
Sébastien Helleu ea934864d4 core: fix renaming of options with command /item rename (issue #1978)
The options `weechat.custom_bar_item.xxx.*` are now properly renamed to the new
item name.

This fixes a save issue (item saved with old name in config) and a crash if a
new item is created with the old name.
2023-07-10 07:34:41 +02:00
Sébastien Helleu 6e7fe96046 core: add quotes around key names in /help key 2023-07-05 21:25:58 +02:00
Sébastien Helleu 82daed8076 core: check that ptr_value is not NULL 2023-07-04 19:15:36 +02:00
Sébastien Helleu bcc061292d core: keep keys ctrl-H and ctrl-? (in lower case) if they were manually bound to custom commands in a previous version 2023-07-04 19:10:51 +02:00
Sébastien Helleu 3b26d6750e core: add key ctrl-backspace in /help key (closes #1975) 2023-07-04 18:41:31 +02:00
Sébastien Helleu 71f8c2ba17 doc: fix anchor links in auto-generated files 2023-07-04 18:31:30 +02:00
Sébastien Helleu ed67f4bf0a core: fix styles 2023-07-03 22:59:37 +02:00
Trygve Aaberge e311564387 core: don't send key_pressed signal again for the same key press
If you press an incomplete key sequence, previously WeeChat would send
the key_pressed signal again for the same keys on the next key.

E.g. if you press escape and then 1, previously you would get the
key_pressed signal with signal_data `\x01[` when you pressed escape, and
then key_pressed with `\x01[` again when you pressed 1 (plus key_pressed
with `1` for the 1 key). So two signals for the escape key, even though
it was only pressed once.

With this patch, you only get one signal for each key press. So one with
`\x01[` when you press escape and then one with `1` when you press 1.
2023-07-03 22:57:10 +02:00
Trygve Aaberge 2781f38052 core: don't send key_combo_* signals for incomplete keys
Version 4.0.0 (specifically commit 1f5c791c3) changed the key handling
so key_combo_* signals were sent for each character in a sequence,
rather than just when the sequence is finished. This broke parts of the
vimode.py script.

E.g. for the up arrow, 3.8 sends key_combo_default signal once with the
signal_data `\x01[[A`, while 4.0.0 sends it three times with the
signal_data `\x01[`, `\x01[[` and `\x01[[A`.

With this patch, the previous behavior is brought back. There is one
small change though. In 3.8 if you press escape one or two times it
doesn't send key_combo_default, but if you press it three or more times
it sends it for each escape press. With this patch, it's never sent for
plain escape presses, only when the sequence is finished with some other
key.

This is intentional, as getting key_combo_default for escape presses
doesn't make sense since it's not a finished combo, and the behavior of
3.8 where you got it after three or more key presses was most likely
unintentional as it just happened because it didn't match any key
bindings anymore (there are key bindings starting with one or two escape
characters, but not more).
2023-07-03 22:57:10 +02:00
Sébastien Helleu 3203ee8f05 tests/relay: fix crash in tests on Alpine 3.18 2023-07-01 09:55:01 +02:00
Sébastien Helleu 7d78be3a1b guile: fix crash on quit with Guile < 3 (closes #1965) 2023-06-27 21:44:54 +02:00
Trygve Aaberge bd9978e467 core: check for newline characters in string_is_whitespace_char
This fixes a bug where if you had multiple lines in the input and
pressed ctrl-w when the cursor was after the first word of any line but
the first, it would delete both the word before the cursor and the last
word on the preceding line.
2023-06-27 21:26:47 +02:00
Sébastien Helleu b4d999010a api: do not convert option name to lower case in API functions config_set_plugin and config_set_desc_plugin 2023-06-27 12:58:51 +02:00
Sébastien Helleu 9939f939aa irc: sent "QUIT" message to servers connected with TLS on /upgrade 2023-06-26 22:08:22 +02:00
Sébastien Helleu db117f34dd core: display actual key name and command with key Alt+k
Key Alt+K (upper K) is removed as well as commands `/input grab_raw_key` and
`/input grab_raw_key_command`.
2023-06-26 20:40:11 +02:00
Sébastien Helleu f546796b49 irc: reply to a CTCP request sent to self nick (closes #1966) 2023-06-25 22:06:52 +02:00
Sébastien Helleu cb7647a3ea core: force key "return" to command "/input return" when migrating legacy keys 2023-06-25 19:14:15 +02:00
Sébastien Helleu e1d1831fa8 core: ignore rest of config file if config version is invalid or not supported 2023-06-17 13:13:11 +02:00
Sébastien Helleu 1b78cd3bd2 exec: fix URL to plugin API reference in /help exec 2023-06-15 22:07:34 +02:00
Sébastien Helleu 2d25cac44a relay: add IPv6 example in /help relay.network.bind_address 2023-06-15 22:04:16 +02:00
Sébastien Helleu 8c73634e1b relay: fix crash on /upgrade when at least a client is connected with weechat protocol 2023-06-11 14:33:32 +02:00
Sébastien Helleu fc91ee59c9 core: add completions "filters_names_disabled" and "filters_names_enabled"
They are used in completion of commands `/filter disable` and
`/filter enable`.
2023-06-10 22:38:54 +02:00
Sébastien Helleu 1145d9f188 trigger: add completions "trigger_names_disabled" and "trigger_names_enabled"
They are used in completion of commands `/trigger disable` and
`/trigger enable`.
2023-06-10 20:30:52 +02:00
Sébastien Helleu 5d06ab76df exec: remove trailing "M" (carriage return) in output of commands
Regression was indirectly caused by commit
d18f68e497 in core that allows to display all
control chars in buffers.

But the fix is in exec plugin: end of line in command output can now be "\r\n"
in addition to a single "\n".
2023-06-10 09:51:04 +02:00
Sébastien Helleu 4185e7b9f6 guile: fix crash when plugin is loaded on GNU/Hurd (closes #1951) 2023-06-05 21:09:27 +02:00
Sébastien Helleu dccd1a348c doc: fix URLs to WeeChat docs 2023-06-05 19:08:12 +02:00
Sébastien Helleu 48b35bdc63 logger: fix display of multiline messages in backlog (closes #1926) 2023-06-05 07:29:21 +02:00
Sébastien Helleu 615069caef logger: return arraylist instead of custom linked list in logger_tail_file (issue #1926) 2023-06-05 07:29:01 +02:00
Sébastien Helleu e04d8894a0 irc: add tag "new_host_xxx" in message displayed for command CHGHOST (closes #1808) 2023-06-04 09:45:47 +02:00
Trygve Aaberge 43dee8ce54 fifo: allow using escape characters
This allows you to use escape characters if you start the fifo command
with \ instead of *, in the same way as the escape_commands option in
the relay protocol. This allows you to send commands consisting of
multiple lines by using \n if the buffer has input_multiline set.
2023-06-03 21:31:38 +02:00
Sébastien Helleu 682fc40708 irc: add option irc.look.display_host_notice 2023-06-03 21:15:58 +02:00
Sébastien Helleu 482fe6604c relay: add handshake option "escape_commands" in weechat protocol 2023-06-03 20:06:29 +02:00
Sébastien Helleu 498aa3256f relay: add support of capability "echo-message" (closes #1949) 2023-06-03 14:15:55 +02:00
Sébastien Helleu ac9dc3b9c8 irc: add infos "irc_server_cap" and "irc_server_cap_value" (issue #1949) 2023-06-03 14:15:49 +02:00
Sébastien Helleu 911c976f9b tests: add tests on relay "irc" protocol 2023-06-02 18:50:45 +02:00
Sébastien Helleu 5eb1a31552 irc: add missing "user" in documentation of functions 2023-06-02 18:50:45 +02:00
Sébastien Helleu 02a20507cb relay: fix connection with IRC clients sending "CAP REQ :" (without capability) and not sending "CAP END" (issue #1040, issue #1796)
The bug was fixed in version 2.0 (issue #1040) but a regression in version 3.7
happened while using the new IRC parser for message arguments (issue #1796,
commit 96ed471261).
2023-06-02 18:50:45 +02:00
Sébastien Helleu 3d8c55722c relay: add modifiers "relay_client_irc_in", "relay_client_irc_out1" and "relay_client_irc_out" 2023-06-02 18:50:45 +02:00
Trygve Aaberge 19a0cfe72d core: fix weechat.look.align_multiline_words not working
This option was broken with commit 031bd45e3.
2023-06-02 18:48:47 +02:00
Sébastien Helleu 310af25226 ruby: fix crash in display of exception backtrace with Ruby 3 (issue #1631, issue #1886) 2023-05-31 20:56:14 +02:00
Sébastien Helleu 71b85f1238 core: send all command line parameters not beginning with a dash to all plugins, add info "auto_load_scripts"
This fixes an issue with IRC URL given on command line when it starts with
`ircs://` or `irc6://`: the server is not created at all (only `irc://` works
fine).
2023-05-30 20:56:25 +02:00
Sébastien Helleu eda62e1218 fset: reset color immediately after the color name (issue #1920) 2023-05-30 07:39:11 +02:00
Trygve Aaberge 6f3a67fdc1 core: set word_end_offset to character after word
It seemed strange to me to have word_end_offset point to the last
character in the word, rather than the character after the word,
especially now with the word stopping before a newline character which
meant word_end_offset would be -1 if there was no characters before the
newline character.
2023-05-29 17:10:25 +02:00
Trygve Aaberge 96f41ce4bf core: fix chat colors at certain positions not being applied
The new rendering of multiline lines had some issues with colors at
certain positions not being applied. The color would not be applied if
the color code was at either of these positions:

  - At the start of a line after a newline character
  - At the end of a line after a space and before a newline character
  - At a line by itself before a newline character

The way I had done it by considering newline characters as a word in
gui_chat_get_word_info with a variable specifying that it's newline
characters became messy and didn't really make sense, so rather than
doing this, I changed gui_chat_get_word_info to stop before the first
newline character. That way, we can just check if we are at a newline
character at the start of the loop, and don't need any more special
handling.

Fixes #1928
2023-05-29 17:10:25 +02:00