1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-05 17:23:15 +02:00
Commit Graph

7790 Commits

Author SHA1 Message Date
Sébastien Helleu e9983821e7 buflist: fix typo in help on option buflist.look.nick_prefix_empty 2025-03-16 10:36:23 +01:00
Sébastien Helleu b25a9b11a0 buflist: apply option buflist.look.nick_prefix_empty also on private and list buffers 2025-03-15 19:19:19 +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 68d452b559 core: improve help on option weechat.completion.nick_ignore_words 2025-03-09 08:26:09 +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 8280a3b65b api: return input string in function string_iconv_from_internal when current locale is wrong
This fixes a bug when writing configuration files with a wrong locale: now
UTF-8 is kept and written in files instead of string converted using a wrong
charset.
2025-03-01 16:44:22 +01:00
Daniel Lublin cc163a0e7e irc: add option -connected in command /server list|listfull 2025-02-18 22:09:24 +01:00
Sébastien Helleu e86e558f3f xfer: keep spaces at the end of /me command arguments 2025-02-15 23:42:29 +01:00
Sébastien Helleu 718a317cfb alias: keep spaces at the end of aliases commands arguments 2025-02-15 23:37:06 +01:00
Sébastien Helleu c275f9d994 alias: keep spaces at the end of /alias command arguments 2025-02-15 23:36:53 +01:00
Sébastien Helleu 9285afc3e2 irc: keep spaces at the end of /topic command arguments 2025-02-15 23:32:33 +01:00
Sébastien Helleu c7d21a3ea6 api: add function completion_set 2025-02-15 23:22:44 +01:00
Sébastien Helleu 1b54cd24ed irc: remove extra empty line 2025-02-15 21:14:10 +01:00
Sébastien Helleu d3a9e4e74b core: add extra check of string length on whitespace char options 2025-02-15 20:59:22 +01:00
Sébastien Helleu 8fd4a80af8 irc: keep spaces at the end of some command arguments
The following commands are now preserving trailing spaces in arguments
received: action, allchan, allpv, allserv, away, ctcp, me, msg, notice, query,
quote, saquit, squery, wallchops, wallops.
2025-02-15 20:54:24 +01:00
Sébastien Helleu 091a17b138 core: keep spaces at the end of some command arguments
The following commands are now preserving trailing spaces in arguments
received: allbuf, command, eval, mute, pipe, print, quit, repeat, wait.
2025-02-15 20:54:24 +01:00
Sébastien Helleu e89d6d69ad api: add property keep_spaces_right in function hook_set to keep trailing spaces in command arguments 2025-02-15 20:54:24 +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 6388d36858 core: remove unnecessary null check 2025-02-11 21:38:24 +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 36b62cfc5e core: add option -v to display upgrades in command /version
The number of upgrades is also displayed on startup after at least one
`/upgrade`.
2025-01-07 20:35:35 +01:00
Sébastien Helleu 80ca209e70 Revert "core: check "weechat" binary with command /upgrade"
This reverts commit d665e2d489.

The fix is not working when WeeChat is not executed with an absolute path.
2025-01-07 17:37:07 +01:00
Sébastien Helleu d302294723 relay/api: always return a body with field "error" in error responses 2025-01-07 07:52:09 +01:00
Sébastien Helleu 60422ca6b1 relay: remove extra space in JSON authentication error 2025-01-07 07:28:45 +01:00
Sébastien Helleu 9d3388b09e relay/api: use cjson lib to return errors 2025-01-07 07:23:55 +01:00
Sébastien Helleu d10af1037b relay/api: use cjson lib to build JSON body of handshake request 2025-01-07 07:18:01 +01:00
Sébastien Helleu 10b4fffaca relay/api: fix return code when buffer is not found in completion resource callback 2025-01-07 07:12:37 +01:00
Sébastien Helleu c48dee3211 relay/api: add schema for errors returned in OpenAPI document 2025-01-06 07:45:02 +01:00
Nils c6c420c698 relay: add completion resource 2025-01-05 14:54:07 +01:00
Sébastien Helleu cfe34388fb relay/api: bump version in OpenAPI document 2025-01-05 13:05:58 +01:00
Sébastien Helleu 3eaa1a3a6e relay/api: fix name of body field "buffer_name" in doc of POST /api/input 2025-01-05 10:36:04 +01:00
Sébastien Helleu de88cd3b58 core: fix typo in /help bar 2025-01-05 10:16:51 +01:00
Trygve Aaberge cab9496a70 python: define constants using PyModule_Add...Constant
This follows the recommendation from Pythons documentation for
PyModule_GetDict where it says:

    It is recommended extensions use other PyModule_* and PyObject_*
    functions rather than directly manipulate a module’s __dict__.
2025-01-05 10:03:07 +01:00
Trygve Aaberge c0c837b1be python: set m_size for created modules to 0
This value determines the size of the per-module memory area. Setting
this value to -1 as it was before this change means that the module has
global state and therefore does not support subinterpreters.

However, subinterpreters are used to run the Python scripts, so the
weechat module has to support subinterpreters. Therefore we should set
this value to 0 as no per-module memory is required.

This seems to fix the crash reported in #2046 without the need for the
workaround added in commit 85c7494dc (it does for me when testing with
Python 3.12.0 at least).

This change came up as a suggestion in cpython's issue tracker where it
was pointed out that using modules with m_size set to -1 is not
supported in subinterpreters. See these two comments:

https://github.com/python/cpython/issues/116510#issuecomment-2377915771
https://github.com/python/cpython/issues/116510#issuecomment-2389485369

It's not completely clear to me what is required for a module to support
subinterpreters and re-initialization (which is required for setting
m_size to 0), but https://peps.pythondiscord.com/pep-0489/ says:

    A simple rule of thumb is: Do not define any static data, except
    built-in types with no mutable or user-settable class attributes.

The only static data we define is of type int and str, so I think it
should be fine.
2025-01-05 09:27:38 +01:00
Sébastien Helleu d665e2d489 core: check "weechat" binary with command /upgrade
Always check that "weechat" binary exists and is executable with command
`/upgrade`, even when the path to binary is not given.
2025-01-04 18:08:19 +01:00
Sébastien Helleu 883c12dec2 relay: fix description of relay clients after /upgrade 2024-12-22 19:31:06 +01:00
Sébastien Helleu ad5fde5966 relay: fix crash after /upgrade when relay clients are connected 2024-12-22 19:31:04 +01:00
Sébastien Helleu 119664d090 api: allow to add empty buffer with function infolist_new_var_buffer
This fixes the following error with `/upgrade` command when relay clients are
connected:

  relay: failed to save upgrade data
2024-12-22 19:05:52 +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 befcd09d63 logger: fix path displayed when the logs directory can not be created 2024-12-21 17:15:38 +01:00
Sébastien Helleu 8aba934c50 xfer: replace calls to malloc by weechat_asprintf 2024-12-21 15:31:39 +01:00
Sébastien Helleu 3b88065266 trigger: replace calls to malloc by weechat_asprintf 2024-12-21 15:31:39 +01:00
Sébastien Helleu ce2c4b74a2 spell: replace calls to malloc by weechat_asprintf 2024-12-21 15:31:39 +01:00
Sébastien Helleu d3d0948e2e script: replace calls to malloc by weechat_asprintf 2024-12-21 15:31:39 +01:00