Sébastien Helleu
dccd1a348c
doc: fix URLs to WeeChat docs
2023-06-05 19:08:12 +02:00
Sébastien Helleu
94cbed2585
core: fix memory leak in function config_file_read_internal
...
This was caused by commit 66571a0b63 .
2023-03-25 17:56:07 +01:00
Sébastien Helleu
0f4ef874ca
core: do not call check callback when setting default value of option
2023-03-19 16:47:46 +01:00
Sébastien Helleu
ca7da2c961
core: run config hooks only when value or default value is actually changed in set/reset/unset functions
2023-03-19 09:59:33 +01:00
Sébastien Helleu
a0c3fbbde9
core: display a warning if the config version read is newer than supported version
2023-03-16 20:42:19 +01:00
Sébastien Helleu
55d9989b85
core: add function config_file_option_set_default
2023-03-16 20:42:19 +01: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
7b8e5b36c0
core: simplify function config_file_read_internal
2023-03-16 20:42:18 +01:00
Sébastien Helleu
3e9e1b51bf
core, plugins: replace calls to strcmp by string_strcmp when difference matters (issue #1872 )
2023-01-28 15:14:26 +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
bbbd08694b
core: make get/set object properties case sensitive (issue #1872 )
2023-01-28 15:13:58 +01:00
Sébastien Helleu
db177de204
core: make configuration files, sections and options case sensitive (issue #1872 )
2023-01-28 15:13:45 +01:00
Sébastien Helleu
72f4596fb2
core: add function config_file_get_configs_by_priority (issue #1872 )
2023-01-28 15:13:43 +01:00
Sébastien Helleu
f72435d765
core: simplify code in config functions (issue #1872 )
2023-01-28 15:13:38 +01:00
Sébastien Helleu
0dd1d1be1c
core: sort configuration files by name, reload them by priority (issue #1872 )
2023-01-28 15:13:36 +01:00
Sébastien Helleu
d274eb4be4
core: add priority in config file (issue #1872 )
...
Priority is now allowed in function config_file_new, parameter `name`, with the
same format as hooks: "priority|name" (for example: "2000|test").
If not specified, the default priority is 1000.
2023-01-28 15:13:29 +01:00
Sébastien Helleu
33bba784c3
core: update copyright dates
2023-01-01 14:54:35 +01:00
Trygve Aaberge
6f1635ae4e
core: Prevent use of uninitialized memory when setting invalid color
...
If a color option value is null and is tried being set to an invalid
color, the value was set to uninitialized memory which can lead to a
segfault.
Can be reproduced with this script:
https://gist.github.com/trygveaa/6ddb3a52f525a7fd8e0908bafa83e07c
The option doesn't have to be set from a script, it also happens with
the /set command.
2022-10-23 19:00:29 +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
2c4bad8120
core: add trailing slashes in URLs
2022-06-18 16:18:09 +02:00
Sébastien Helleu
c44b79dce7
core: update copyright dates
2022-01-17 18:41:06 +01:00
Sébastien Helleu
5e08f9876a
core: fix access to integer/long/time arrays in hdata, add support of static arrays in hdata
2021-11-04 23:55:02 +01:00
Sébastien Helleu
ad5fa7c99f
core: add command /toggle
2021-10-01 22:55:38 +02:00
Sébastien Helleu
9548a4cf74
core: check that option is not NULL in function config_file_option_value_to_string
2021-09-27 23:23:01 +02:00
Sébastien Helleu
301f0942c6
core: fix search of option when the section is not given
2021-09-27 22:35:14 +02:00
Sébastien Helleu
fb57ad147e
core: check that option_name is not NULL in config file functions
2021-09-27 22:02:22 +02:00
Sébastien Helleu
0f9640a5f3
core: split WeeChat home in 4 directories, use XDG directories by default (issue #1285 )
...
The 4 directories (which can be the same):
- config: configuration files, certificates
- data: log/upgrade files, local plugins, scripts, xfer files
- cache: script repository, scripts downloaded (temporary location)
- runtime: FIFO pipe, relay UNIX sockets
2021-05-11 21:06:34 +02:00
Sébastien Helleu
e37f2569f9
core: mention /fset command in header comment of configuration files
2021-03-14 11:36:07 +01:00
Sébastien Helleu
efc7a588d6
core: update copyright dates
2021-01-02 21:34:16 +01:00
Sébastien Helleu
5cbda03fca
core: fix and normalize error messages
2020-11-17 21:54:24 +01:00
Sébastien Helleu
feb6258910
core: update copyright dates
2020-01-04 10:41:26 +01:00
Sébastien Helleu
ecc7edda9e
core: optimize search of options in configuration sections
...
Since options are sorted in sections, it is faster to search from the last
option to the first one.
For configuration files with many options in a single section (like
plugins.conf), the load of configuration file is about 2 to 3x faster.
2019-10-23 19:45:06 +02:00
Sébastien Helleu
9178156354
api: add argument "strip_items" in function string_split
2019-06-15 20:47:14 +02:00
Sébastien Helleu
2b70d71aa1
core: replace argument "keep_eol" by "flags" in function string_split ( closes #1322 )
2019-03-10 18:29:16 +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
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
0db48c7291
core: add option weechat.look.save_config_with_fsync ( closes #1083 )
...
This makes the save of all configuration files about 20 to 200x slower
(according to the storage device speed); so this is disabled by default.
2017-10-14 07:56:02 +02:00
Sébastien Helleu
f1cd765e1a
core: call the config hook when options are renamed
2017-07-08 14:45:14 +02:00
Sébastien Helleu
8fdd6164ef
core: call the config hook when options are removed
2017-07-08 14:44:28 +02:00
Sébastien Helleu
d71524c582
fset: add ${file}, ${section}, ${option}, add color options
2017-06-25 16:35:27 +02:00
Sébastien Helleu
54bf589d7d
core, plugins: fix conditions to insert elements in linked lists
...
This removes scan-build warnings about dereference of last_xxx null pointers.
2017-06-10 16:21:11 +02:00
Sébastien Helleu
193ff0db37
core: remove unused functions config_file_config_insert and config_file_section_insert_in_config (issue #1012 )
2017-06-09 07:54:27 +02:00
Sébastien Helleu
f6a8c28d2d
api: add function config_option_get_string in plugin API
2017-05-30 20:28:01 +02:00
Sébastien Helleu
705d86e684
core: update copyright dates
2017-01-01 11:32:04 +01:00
Sébastien Helleu
fe95a1c8a8
core: add a warning in header of configuration files to not edit by hand ( closes #851 )
2016-11-21 22:29:35 +01:00
Sébastien Helleu
eb86def400
core: rename function string_iconv_fprintf to string_fprintf
2016-07-09 18:28:03 +02:00
Sébastien Helleu
cf6aca1619
core: add pointer in some callbacks ( closes #406 )
...
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
2016-03-21 18:11:21 +01:00