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

117 Commits

Author SHA1 Message Date
Sébastien Helleu f076db4767 api: add function line_search_by_id 2024-06-27 20:55:42 +02:00
Sébastien Helleu 85c7494dc7 python: call empty eval workaround before auto-load of scripts (issue #2046, issue #2126)
This should definitely fix the crash with Python 3.12, even when scripts are
auto-loaded (the previous fix was working only when the scripts are loaded
manually).
2024-06-26 18:44:35 +02:00
Sébastien Helleu 3d3d8f2ea7 scripts: fix reset of "quiet" status in case of nested calls (issue #2046, issue #2126) 2024-06-26 18:43:40 +02:00
Sébastien Helleu 96f9942aed php: fix return value of function hdata_longlong 2024-05-26 16:24:16 +02:00
Sébastien Helleu 0b2d9bcb9b plugins: remove check of NULL pointers before calling weechat_hashtable_free() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu c472b9a733 php: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 9e0dd18152 api: add function "hdata_longlong" (issue #2081) 2024-03-12 20:37:11 +01:00
Sébastien Helleu 81599b88d4 plugins: move scripting API constants to plugin-script.c 2024-03-05 19:52:21 +01:00
Sébastien Helleu 361d55d9d7 api: add functions config_{boolean|integer|string|color|enum}_inherited in scripting API 2024-03-05 19:52:21 +01:00
Sébastien Helleu c3eff15a56 api: add functions config_option_get_string and config_option_get_pointer in scripting API 2024-03-05 19:51:15 +01:00
Sébastien Helleu c5800178a0 php: remove constants that must not be visible in scripts 2024-02-25 16:32:21 +01:00
Sébastien Helleu eecb2a997e core: update copyright dates 2024-01-01 22:29:58 +01:00
Sébastien Helleu 9fb3d3f14c core: store microseconds in buffer lines (closes #649) 2023-12-26 19:44:37 +01:00
Sébastien Helleu 75dc8b9d6c core: fix crash on plugin reload when using musl libs (closes #2052) 2023-12-15 22:53:51 +01:00
Sébastien Helleu fa0b320178 core: fix style 2023-12-14 23:11:35 +01:00
Sébastien Helleu d6e4e87faf script: fix removal of script in system directory while trying to install a script (closes #2019) 2023-09-22 22:51:44 +02:00
Sébastien Helleu fb00bc1f4b scripts: add function hook_url in scripting API 2023-09-16 13:00:03 +02:00
Sébastien Helleu d9555cc567 scripts: add functions config_enum and config_enum_default in scripting API (issue #1973) 2023-09-09 08:54:33 +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 6415c09a07 core: add quotes around paths in CMake files (closes #29) 2023-05-13 11:59:18 +02:00
Sébastien Helleu 66571a0b63 core: add configuration version, add API function config_set_version 2023-03-16 20:42:18 +01:00
Sébastien Helleu fbeab26a35 core, plugins: replace calls to string_str(n)cmp by str(n)cmp (issue #1872) 2023-01-28 15:14:24 +01:00
Sébastien Helleu c07cf691ad core, plugins: check that string parameters are not NULL in search functions (issue #1872) 2023-01-28 15:14:22 +01:00
Sébastien Helleu 489c264202 core, plugins: make info, info_hashtable and infolist case sensitive (issue #1872) 2023-01-28 15:13:54 +01:00
Sébastien Helleu f0415c8ec3 core, plugins: make commands, hook command_run, completions and aliases case sensitive (issue #1872) 2023-01-28 15:13:48 +01:00
Sébastien Helleu 202b4d82c0 plugins: set priority in calls to weechat_config_new (issue #1872) 2023-01-28 15:13:34 +01:00
Sébastien Helleu 754ab33946 core: remove build with autotools
CMake is now the only way to build WeeChat.
2023-01-08 14:19:41 +01:00
Sébastien Helleu fe7c0019a7 php: remove warnings on variables "argc" and "ret_i" that might be clobbered by longjmp or vfork 2023-01-08 14:04:05 +01:00
Sébastien Helleu 7526776f4e plugins: change priority of scripting plugins
Use a step of 10 between each scripting plugin priority.
2023-01-03 20:20:21 +01:00
Sébastien Helleu 33bba784c3 core: update copyright dates 2023-01-01 14:54:35 +01:00
Trygve Aaberge ebc63d1b83 scripts: Send null values to config section callbacks
The callback_read and callback_create_option functions in the scripting
APIs always get the value as a string, never as null. This means that if
the value is null, there is no way for the script to distinguish this
from an empty string for string options. This makes it impossible to
properly make options with fallback values, like the irc server and
server_default options, as far as I can see.

All the scripting languages except Tcl use that language's equivalent
for null. For JavaScript which has both null and undefined, null is
used. For Tcl, the magic null string defined in commit 197a7a01e is used
and the documentation is updated to describe that.

I tested this with these scripts:
https://gist.github.com/trygveaa/2d49c609addf9773d2ed16e15d1e3447

You can load all of those scripts and see the result with this command
(assuming you have the scripts in the current directory):

    weechat -t -r "/filter add script * * script; /script load $(echo script_config.*)"
2022-12-11 15:13:31 +01:00
Sébastien Helleu 56dbd871ea api: do not expect any return value in callbacks change/delete of config_new_option (scripting API) 2022-10-15 21:46:00 +02:00
Sébastien Helleu 486df38a8d php: add missing arginfo_weechat_string_parse_size in legacy arginfo 2022-09-29 07:48:55 +02:00
Sébastien Helleu 4d74a89cfc api: add function string_parse_size 2022-09-27 15:50:43 +02:00
Sébastien Helleu 53df45de48 php: fix function hdata_compare 2022-08-02 20:49:35 +02:00
Sébastien Helleu bcb8647aa4 scripts: fix issue with long interval in function hook_timer
Affected plugins: python, ruby, lua, tcl, guile, javascript, php.
2022-08-01 22:18:38 +02:00
Sébastien Helleu 3a0e54d236 php: fix compilation warning about unused arguments 2022-06-30 20:35:59 +02:00
Adam Saponara 24fe646c4e php: Deprecate forget_* functions in PHP 8+
These functions don't work with PHP 8+ and also don't seem to be
necessary anymore when reloading scripts.
2022-06-30 20:33:45 +02:00
Adam Saponara 8cf5848116 php: Add stubs and generate arginfo for PHP API
This was preventing the PHP plugin from working if PHP was compiled
with `--enable-debug`. With this patch, `--enable-debug` builds of
PHP should work.
2022-06-30 20:33:13 +02:00
Adam Saponara 3e1a5b4447 php: Adjust API for PHP 8.2 2022-06-30 20:32:20 +02:00
Sébastien Helleu e5e3a9d2da api: add function buffer_new_props (closes #1759) 2022-03-13 10:35:29 +01:00
Trygve Aaberge 197a7a01e4 scripts: allow null values in config_new_option
The plugin API function config_new_option accepts null as the
default_value and/or value however the scripting APIs (except for lua)
didn't allow sending null as a parameter value, so it was impossible to
use it this way. This allows sending a null value for these parameters.

Lua already supported sending in nil for these parameters and it works
as expected, so nothing is changed for this plugin.

For Guile you can now send in #nil, for JavaScript null or undefined,
for Perl undef, for PHP NULL, for Python None, for Ruby nil and for Tcl
$::weechat::WEECHAT_NULL.

In all of these languages except Tcl this is the special value
indicating a missing value. However Tcl only has one type, string, so it
doesn't have a null value. Therefore I created a constant with the value
`\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF` which is used
instead. This is very unlikely to appear unintentionally. Using the
unicode code point \uFFFF was suggested on
https://wiki.tcl-lang.org/page/null.

I tested this with these scripts:
https://gist.github.com/trygveaa/f91977dde5d2876d502bf55fbf9b50cc
2022-03-12 16:00:38 +01:00
Sébastien Helleu 8700e0bb36 scripts: auto-load scripts with supported extensions only (closes #1698) 2022-02-20 16:29:31 +01:00
Sébastien Helleu 9259442dbf core: add support of date and tags in messages displayed in buffers with free content, add function printf_y_date_tags (closes #1746) 2022-01-30 11:41:06 +01:00
Sébastien Helleu c44b79dce7 core: update copyright dates 2022-01-17 18:41:06 +01:00
Sébastien Helleu 2da2172593 api: add parameters pointers, extra_vars and options in function hdata_search 2021-11-06 15:59:18 +01:00
Sébastien Helleu 68a3aca643 plugins: use a different plugin priority for each scripting language 2021-10-02 20:50:35 +02:00
Sébastien Helleu eaacd805ae php: add missing header files in autotools build 2021-09-19 09:54:01 +02:00
Adam Saponara ede09a843c php: add ifdef for zend_file_handle.filename 2021-08-08 09:00:24 +02:00
Adam Saponara 5442612bc9 php: fix PHP 8+ build 2021-08-08 09:00:24 +02:00