Sébastien Helleu
720a7e5a99
python: fix truncation of unsigned long long integer returned by function string_parse_size
2024-02-25 17:10:32 +01: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
ed5467c4a9
scripts: fix function string_parse_size on 32-bit systems (python and ruby) (issue #1999 )
2023-08-18 16:40:53 +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
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
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
92cdcee8f6
api: change type of argument object_id in upgrade_new callback from string to integer (in scripts)
2022-09-29 21:38:04 +02:00
Sébastien Helleu
b2b110f1a3
api: change type of argument remaining_calls in hook_timer callback from string to integer (in scripts)
2022-09-29 21:21:01 +02:00
Sébastien Helleu
4d74a89cfc
api: add function string_parse_size
2022-09-27 15:50:43 +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
b1404b0277
scripts: fix issue with year ≥ 2038 in functions print_date_tags and print_y_date_tags
...
Affected plugins: python, lua, tcl, guile, javascript.
2022-08-01 21:03:44 +02:00
Sébastien Helleu
1514570ff0
scripts: fix issue with year ≥ 2038 in function infolist_new_var_time
...
Affected plugins: python, lua, tcl, guile, javascript.
2022-08-01 20:32:09 +02:00
Sébastien Helleu
b7441bd7a3
api: add arguments "index_start" and "index_end" in function string_rebuild_split_string
2022-07-20 13:16:35 +02:00
Sébastien Helleu
62e68f965f
api: rename function string_build_with_split_string to string_rebuild_split_string
2022-07-20 12:14:40 +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
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
574f1837f9
python: fix crash in hook callbacks after script loading failure ( closes #1740 )
2022-01-22 21:34:04 +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
efc7a588d6
core: update copyright dates
2021-01-02 21:34:16 +01:00
Sébastien Helleu
268aa631c6
api: add function string_color_code_size (issue #1547 )
2020-08-22 08:55:16 +02:00
Sébastien Helleu
b0ecbdbf1d
core: add bar option "color_bg_inactive" (issue #732 )
2020-06-21 18:59:54 +02:00
Sébastien Helleu
88bef0b1b1
core: rename functions hook_completion_{get_string|list_add} to completion_{get_string|list_add}
...
Old functions are kept for compatibility reasons.
2020-05-08 10:51:30 +02:00
Sébastien Helleu
d1a427b67f
api: return integer in function gui_completion_search (issue #1484 )
2020-04-28 10:46:49 +02:00
Sébastien Helleu
d3020976d5
api: add functions completion_new, completion_search and completion_free (issue #1484 )
2020-04-27 22:15:42 +02:00
Sébastien Helleu
feb6258910
core: update copyright dates
2020-01-04 10:41:26 +01:00
Sébastien Helleu
3d95217745
api: return allocated string in hook_info callback and function info_get
2019-04-13 08:42:45 +02:00
Sébastien Helleu
80b980b2af
api: add function command_options (issue #928 )
2019-02-28 20:19:18 +01:00
Sébastien Helleu
c2859096cb
api: add function string_match_list
2019-02-27 07:46:22 +01:00
Sébastien Helleu
2b0057239b
core: update copyright dates
2019-01-01 15:40:51 +01:00
Sébastien Helleu
4712d0bb06
core: use https for links to GNU GPL license
2018-11-29 23:16:07 +01:00
Sébastien Helleu
42be1a74a0
api: add function hook_line
2018-08-12 21:45:00 +02:00
Sébastien Helleu
9265acf879
scripts: fix memory leak in hook_info callback
2018-04-13 19:55:20 +02:00
Sébastien Helleu
41d63511b4
scripts: fix return value of hook_infolist callback (pointer instead of string)
2018-04-12 00:12:20 +02:00
Sébastien Helleu
3467d6eb43
scripts: return long integer instead of string in function infolist_time
2018-04-10 21:26:15 +02:00
Sébastien Helleu
ab61ddd4ab
scripts: do not allocate memory when converting pointers to strings
2018-04-10 19:33:14 +02:00
Sébastien Helleu
6de98179bc
api: add function string_format_size in scripting API
2018-04-07 13:20:58 +02:00
Sébastien Helleu
21e63e7958
scripts: add configuration file for each script plugin
2018-01-15 21:57:06 +01:00
Sébastien Helleu
7ee88fb46c
core: fix some styles
2018-01-07 09:11:45 +01:00
Sébastien Helleu
ed4837b2f6
core: update copyright dates
2018-01-05 00:54:18 +01:00
Sébastien Helleu
515334e53b
python: fix integer arguments in hook_connect() and hook_fd() callbacks
2017-12-04 22:07:38 +01:00
Sébastien Helleu
5aab494dd6
core, plugins: check return code of strftime function
2017-09-23 15:06:28 +02:00
Sébastien Helleu
8bd874a281
python: add/remove some empty lines for readability
2017-09-07 21:40:58 +02:00
Sébastien Helleu
bfef8da84c
api: change type of arguments status/gnutls_rc/sock in hook_connect() callback from string to integer (in scripts)
2017-08-13 10:40:01 +02:00
Sébastien Helleu
5392e3078f
api: send file descriptor as integer instead of string to the callback of hook_fd
2017-08-13 09:29:39 +02:00
Sébastien Helleu
aeeec38d6f
core: fix cast of time_t (to "long long" instead of "long") ( closes #1051 )
2017-08-12 18:36:45 +02:00