summaryrefslogtreecommitdiff
path: root/src/plugins/tcl/weechat-tcl-api.c
AgeCommit message (Collapse)Author
2023-09-16scripts: add function hook_url in scripting APISébastien Helleu
2023-09-09scripts: add functions config_enum and config_enum_default in scripting API ↵Sébastien Helleu
(issue #1973)
2023-03-16core: add configuration version, add API function config_set_versionSébastien Helleu
2023-01-28core, plugins: check that string parameters are not NULL in search functions ↵Sébastien Helleu
(issue #1872)
2023-01-01core: update copyright datesSébastien Helleu
2022-12-11scripts: Send null values to config section callbacksTrygve Aaberge
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-10-15api: do not expect any return value in callbacks change/delete of ↵Sébastien Helleu
config_new_option (scripting API)
2022-09-29api: change type of argument object_id in upgrade_new callback from string ↵Sébastien Helleu
to integer (in scripts)
2022-09-29api: change type of argument remaining_calls in hook_timer callback from ↵Sébastien Helleu
string to integer (in scripts)
2022-09-27api: add function string_parse_sizeSébastien Helleu
2022-08-01scripts: fix issue with long interval in function hook_timerSébastien Helleu
Affected plugins: python, ruby, lua, tcl, guile, javascript, php.
2022-08-01scripts: fix issue with year ≥ 2038 in functions print_date_tags and ↵Sébastien Helleu
print_y_date_tags Affected plugins: python, lua, tcl, guile, javascript.
2022-08-01scripts: fix issue with year ≥ 2038 in function infolist_new_var_timeSébastien Helleu
Affected plugins: python, lua, tcl, guile, javascript.
2022-07-20api: add arguments "index_start" and "index_end" in function ↵Sébastien Helleu
string_rebuild_split_string
2022-07-20api: rename function string_build_with_split_string to ↵Sébastien Helleu
string_rebuild_split_string
2022-03-13api: add function buffer_new_props (closes #1759)Sébastien Helleu
2022-03-12scripts: allow null values in config_new_optionTrygve Aaberge
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-01-30core: add support of date and tags in messages displayed in buffers with ↵Sébastien Helleu
free content, add function printf_y_date_tags (closes #1746)
2022-01-17core: update copyright datesSébastien Helleu
2021-11-06api: add parameters pointers, extra_vars and options in function hdata_searchSébastien Helleu
2021-01-02core: update copyright datesSébastien Helleu
2020-08-22api: add function string_color_code_size (issue #1547)Sébastien Helleu
2020-06-21core: add bar option "color_bg_inactive" (issue #732)Sébastien Helleu
2020-05-08core: rename functions hook_completion_{get_string|list_add} to ↵Sébastien Helleu
completion_{get_string|list_add} Old functions are kept for compatibility reasons.
2020-04-28api: return integer in function gui_completion_search (issue #1484)Sébastien Helleu
2020-04-27api: add functions completion_new, completion_search and completion_free ↵Sébastien Helleu
(issue #1484)
2020-01-04core: update copyright datesSébastien Helleu
2019-04-13api: return allocated string in hook_info callback and function info_getSébastien Helleu
2019-02-28api: add function command_options (issue #928)Sébastien Helleu
2019-02-27api: add function string_match_listSébastien Helleu
2019-01-01core: update copyright datesSébastien Helleu
2018-11-29core: use https for links to GNU GPL licenseSébastien Helleu
2018-08-12api: add function hook_lineSébastien Helleu
2018-04-13scripts: fix memory leak in hook_info callbackSébastien Helleu
2018-04-12scripts: fix return value of hook_infolist callback (pointer instead of string)Sébastien Helleu
2018-04-10scripts: return long integer instead of string in function infolist_timeSébastien Helleu
2018-04-10scripts: do not allocate memory when converting pointers to stringsSébastien Helleu
2018-04-07api: add function string_format_size in scripting APISébastien Helleu
2018-01-15scripts: add configuration file for each script pluginSébastien Helleu
2018-01-05core: update copyright datesSébastien Helleu
2017-09-23core, plugins: check return code of strftime functionSébastien Helleu
2017-08-13api: change type of arguments status/gnutls_rc/sock in hook_connect() ↵Sébastien Helleu
callback from string to integer (in scripts)
2017-08-13api: send file descriptor as integer instead of string to the callback of ↵Sébastien Helleu
hook_fd
2017-08-12core: fix cast of time_t (to "long long" instead of "long") (closes #1051)Sébastien Helleu
2017-05-30api: add function hdata_compareSébastien Helleu
2017-01-01core: update copyright datesSébastien Helleu
2016-11-27api: move functions hook_completion* after hook_commandSébastien Helleu
2016-04-23api: add support of functions in hook_processSébastien Helleu
2016-03-24api: rename function unhook_all_plugin to unhook_allSébastien Helleu
2016-03-21core: add pointer in some callbacks (closes #406)Sébastien Helleu
This pointer is the first argument received by callbacks, and the existing argument "data" is now automatically freed by WeeChat when the object containing the callback is removed. With this new pointer, the linked list of callbacks in scripts has been removed. This will improve speed of scripts (using a lot of hooks), reduce memory used by scripts and reduce time to unload scripts. Following functions are affected in the C API: * exec_on_files * config_new * config_new_section * config_new_option * hook_command * hook_command_run * hook_timer * hook_fd * hook_process * hook_process_hashtable * hook_connect * hook_print * hook_signal * hook_hsignal * hook_config * hook_completion * hook_modifier * hook_info * hook_info_hashtable * hook_infolist * hook_hdata * hook_focus * unhook_all_plugin * buffer_new * bar_item_new * upgrade_new * upgrade_read