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

1999 Commits

Author SHA1 Message Date
Sébastien Helleu 23fb6bfe88 core: fix option weechat.look.color_real_white not applied when color is "white" on 16+ colors terminals (issue #1742) 2026-05-23 13:41:40 +02:00
Sébastien Helleu f53e7fb9ef core, plugins: fix typos in comments on functions, use imperative 2026-03-23 20:45:36 +01:00
Sébastien Helleu 106fe6ca7c core: update copyright dates 2026-03-08 10:37:15 +01:00
Emil Velikov c8d2b4448a cmake: inline a few variables as needed
Avoid creating/appending variables and effectively deviating from the
style used across the project.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov 323ab8810e cmake: consolidate non-linux library handling
Move the handling to the top-level, adding it _once_ to EXTRA_LIBS.
Thus avoiding some duplication across the board.

Note that final handling varies a bit, namely:
 - OpenBSD/intl should be handled via the existing cmake/FindGettext.cmake
 - Darwin/resolv should not be needed since commit e98a32373 ("core: check
   if res_init requires linking with libresolv")
 - the backtrace/execinfo handling has been consolidated and moved

In the unlikely case of unwanted over-linking, the platforms can add
`-Wl,--as-needed` to their linker flags. Something which is strongly
encouraged and has been the default across multiple (linux) distros for
years.

Alternatively, if move quirks are needed they should be handled in a
single place.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov fc6003c74e cmake: consolidate libm library handling
Move the handling to the top-level, adding it _once_ to EXTRA_LIBS.
Thus avoiding some duplication across the board.

This change technically adds an extra link for the unit tests, which
seemingly was omitted by mistake. Alternatively, the extra over-linking
won't be an issue in practise.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov ae54c3ef65 cmake: consolidate iconv/gettext library handling
Move the handling to the top-level, adding it _once_ to EXTRA_LIBS.
Thus avoiding some duplication across the board.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:25 +01:00
Emil Velikov b38c00bb0d cmake: consolidate zlib/zstd library handling
Move the handling to the top-level, adding it _once_ to EXTRA_LIBS.
Thus avoiding some duplication across the board.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:25 +01:00
Emil Velikov 20a7affb70 cmake: remove unnecessary add_dependencies()
In a handful of places we explicitly use add_dependencies() where the
exact same libraries are also (implicitly) added as dependencies via
target_link_libraries().

Remove the folder, which helps us remove some duplication with follow-up
patches.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:25 +01:00
Sébastien Helleu 1f0d8d3849 core: add condition on new_tags in functions gui_buffer_set_highlight_tags_restrict and gui_buffer_set_highlight_tags 2025-11-23 10:36:21 +01:00
Sébastien Helleu c248aa42ce core: simplify code in gui_buffer_set functions 2025-11-23 10:36:21 +01:00
Sébastien Helleu 2832ef333e core: do not add/remove highlight words if value is empty in call to gui_buffer_set() 2025-11-23 10:36:21 +01:00
Sébastien Helleu 5543bc236b tests: add tests on gui buffer set functions 2025-11-23 10:35:43 +01:00
Sébastien Helleu da12df6b73 core: free highlight_disable_regex if the regex is invalid in function gui_buffer_set_highlight_disable_regex 2025-11-18 22:27:15 +01:00
Sébastien Helleu 3176e2a6b7 core: free highlight_regex if the regex is invalid in function gui_buffer_set_highlight_regex 2025-11-18 22:27:15 +01:00
Sébastien Helleu b9f1145d03 core: fix screen size in macro getmaxyx when using fake ncurses 2025-11-12 13:45:27 +01:00
Sébastien Helleu f3a8068109 core: fix use of window->coords by checking size of array before using it 2025-11-12 13:45:27 +01:00
Sébastien Helleu c0116febe5 core: display an error message in case of invalid parameters with command /cursor 2025-11-10 09:05:36 +01:00
Sébastien Helleu e2ae308e3b core: add option weechat.completion.cycle 2025-09-11 21:10:52 +02:00
Sébastien Helleu 323f80e914 core: add option weechat.completion.partial_completion_auto_expand (closes #2253) 2025-06-30 18:52:58 +02:00
Sébastien Helleu 56903738b5 core: always enable partial completion for templates in option weechat.completion.partial_completion_templates (issue #2253)
Previous behavior was to reverse the partial completion, which was confusing
when option like weechat.completion.partial_completion_command_arg was enabled
as well.
2025-06-30 18:52:58 +02:00
Albert Lee e8ce75f20c core: avoid dynamic format strings for Clang -Werror=format-security 2025-05-25 09:26:10 +02:00
Albert Lee 47f7518c1f gui: use NCURSES_CFLAGS if available 2025-05-25 09:26:08 +02:00
Albert Lee e98a32373e core: check if res_init requires linking with libresolv 2025-05-25 09:05:42 +02:00
Sébastien Helleu d0c00f7db2 Revert "core, plugins: replace "%lx" by "%p" in calls to sscanf"
This reverts commit e64ab3c675.

This was causing incorrect conversion of strings "0x..." to pointers on systems
like Solaris/illumos.

And as a side effect, buffers were sometimes empty in weechat relay clients
like glowing-bear.
2025-05-18 22:17:16 +02:00
Sébastien Helleu d475c16671 core: fix buffer overflow in function utf8_next_char and return NULL for empty string
Now the function utf8_next_char with an empty string returns NULL instead of
the next char, which is most of the time after an allocated buffer.

And the function utf8_char_size with an empty string now returns 0 instead of
1.

This indirectly fixes a buffer overflow in function eval_string_range_chars
when the input string is empty (for example when doing `/eval -n ${chars:}`).
2025-05-10 20:53:04 +02:00
Sébastien Helleu 683fa2f585 irc: add support of strikethrough color attribute (using half bright) (closes #2248)
As ncurses doesn't support strikethrough, the text is rendered as half
bright (WeeChat color: "dim").
2025-04-26 14:10:43 +02:00
Sébastien Helleu d0babe8679 core: add refresh of window title on buffer switch, when option weechat.look.window_title is set 2025-04-11 19:30:32 +02:00
Sébastien Helleu 5ccbdca0c9 core: consider all keys are safe in cursor context (closes #2244) 2025-04-04 18:52:58 +02:00
Sébastien Helleu 2475f20cb7 all: move description of C files below the copyright and license 2025-03-31 11:47:49 +02:00
Sébastien Helleu 3a6ac9ee76 all: add SPDX license tag 2025-03-31 07:49:26 +02:00
Sébastien Helleu d8987a1678 all: replace Copyright lines by SPDX copyright tag 2025-03-30 14:47:12 +02:00
Sébastien Helleu ca22e49041 core, irc: replace "long" by "long long" to store seconds in timeval structure 2025-03-16 14:05:11 +01:00
Sébastien Helleu 764b309e92 core, irc, relay: fix formatting of seconds and microseconds 2025-03-16 14:04:28 +01:00
Sébastien Helleu 9fe5fa23a0 core: convert "long long" to "unsigned long long" in functions util_get_microseconds_string and util_parse_delay 2025-03-16 11:13:25 +01:00
Aaron Jones f5038bccbc Fix function prototypes for list of arguments
At the moment, building WeeChat triggers several thousand -Wstrict-prototypes
diagnostics.  This is due to its source code using an empty argument list for
functions and function pointers that take no arguments, instead of explicitly
declaring that they take no arguments by using a void list.

This commit replaces all empty argument lists with a void list.

Note that Ruby's headers also suffer the same problem, which WeeChat can't
do anything to fix.  Thus, building WeeChat with the Ruby plugin enabled
will still issue approximately 30 such diagnostics.
2025-03-10 08:16:52 +01:00
Sébastien Helleu 2e570c599b core: add option weechat.completion.nick_ignore_words (closes #1143) 2025-03-03 08:27:22 +01:00
Sébastien Helleu c7d21a3ea6 api: add function completion_set 2025-02-15 23:22:44 +01:00
Sébastien Helleu 3c9eb6dcac core: add option whitespace in command /debug (closes #947)
New options are added to configure the chars displayed for spaces and
tabulations:

- weechat.look.whitespace_char: char for spaces
- weechat.look.tab_whitespace_char: first char for tabulations
2025-02-15 20:54:14 +01:00
Sébastien Helleu ca6e483cdc relay/api: add a way to toggle between remote and local command execution on remote buffers (issue #2148)
New default key:

- Alt+Ctrl+l (L): toggle execution of commands: remote/local

New options:

- relay.api.remote_input_cmd_local: text displayed for command executed locally
- relay.api.remote_input_cmd_remote: text displayed for command executed on the
  remote WeeChat
2025-02-09 18:31:37 +01:00
Sébastien Helleu 547e2b934e core: update copyright dates 2025-02-01 23:13:18 +01:00
Sébastien Helleu daef5971ae core: add option -color in command /pipe 2025-02-01 09:37:22 +01:00
LuK1337 04aea1bcb5 core: use <stdbool.h> instead of typedef in ncurses-fake.h
Fixes the following error when building in Fedora rawhide:
error: ‘bool’ cannot be defined via ‘typedef’.

Likely GCC 15 related.
2025-01-26 08:54:55 +01:00
Sébastien Helleu 4b7be27028 core: add parameter name in signal handler functions 2025-01-26 08:49:15 +01:00
LuK1337 68c70e5538 core: add int arg for all sigaction.sa_handler functions
src/gui/curses/gui-curses-main.c: In function ‘gui_main_loop’:
src/gui/curses/gui-curses-main.c:399:33: error: passing argument 2 of ‘signal_catch’ from incompatible pointer type [-Wincompatible-pointer-types]
  399 |         signal_catch (SIGWINCH, &gui_main_signal_sigwinch);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                 |
      |                                 void (*)(void)
In file included from src/gui/curses/gui-curses-main.c:38:
src/gui/curses/../../core/core-signal.h:33:46: note: expected ‘void (*)(int)’ but argument is of type ‘void (*)(void)’
   33 | extern void signal_catch (int signum, void (*handler)(int));
      |                                       ~~~~~~~^~~~~~~~~~~~~
2025-01-26 08:46:04 +01:00
Sébastien Helleu b53f3c2db8 core: add tags of lines in hsignal sent with command /pipe 2025-01-25 17:06:10 +01:00
Sébastien Helleu 9e34a0e917 core: add option POST_BUILD in add_custom_command
This fixes the following CMake warning:

CMake Warning (dev) at src/gui/curses/normal/CMakeLists.txt:73 (add_custom_command):
  Exactly one of PRE_BUILD, PRE_LINK, or POST_BUILD must be given.  Assuming
  POST_BUILD to preserve backward compatibility.

  Policy CMP0175 is not set: add_custom_command() rejects invalid arguments.
  Run "cmake --help-policy CMP0175" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.
2024-12-21 18:02:43 +01:00
Sébastien Helleu 818a4c95a9 core: replace calls to malloc by string_asprintf 2024-12-21 15:12:33 +01:00
Sébastien Helleu 732f24b6ba core: add command /pipe 2024-12-16 13:39:14 +01:00
Sébastien Helleu 9a8010eead core: fix translation of keys in options
This fixes French description of key options in docs.
2024-11-20 18:23:49 +01:00