1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-26 12:56:37 +02:00
Commit Graph

808 Commits

Author SHA1 Message Date
Sebastien Helleu 0409faee7f Merge branch 'shared-strings' 2013-09-02 15:24:20 +02:00
Sebastien Helleu 0d8bd7f1e6 core: add option weechat.look.day_change_message2
The new option weechat.look.day_change_message2 is used to display day change
between two messages, with two dates: the new one, and the old one.

Example:

-- Mon, 02 Sep 2013 (Thu, 22 Aug 2013) --
2013-09-02 08:39:06 +02:00
Sebastien Helleu 86e7d95b9c core: fix evaluation of expressions with parentheses
First evaluate sub-expressions between parentheses.

Before the fix:
>> 1 && (0 || 0)
== [1]

After the fix:
>> 1 && (0 || 0)
== [0]
2013-08-25 13:34:51 +02:00
Sebastien Helleu f250be4aa8 core: add note about color codes "${color:xxx}" in /help weechat.look.day_change_message 2013-08-25 12:40:09 +02:00
Sebastien Helleu 03b6b4c1cf core: display day change message dynamically (do not store it as a line in buffer) (task #12775)
Changes in options:
- rename option weechat.look.day_change_time_format to weechat.look.day_change_message
  (color codes are allowed in this option)
- new option weechat.color.chat_day_change.
2013-08-25 09:39:59 +02:00
Sebastien Helleu fc1e35fb48 core: display an error message when "/buffer notify xxx" fails (with a wrong notify level) 2013-08-21 11:18:52 +02:00
Sebastien Helleu 64bbb327bb core: improve help of command /away 2013-08-20 14:30:50 +02:00
Sebastien Helleu cc1523b654 core: add commment in function string_shared_get (returned value must not be changed) 2013-08-17 17:44:10 +02:00
Sebastien Helleu 600ee3ddf3 core: add search of regular expression in buffer, don't reset search type on a new search, select where to search (messages/prefixes)
Key changed in search context:
- ctrl+"r": switch search type: string/regex

New keys in search context:
- alt+"c": case (in)sensitive search
- tab: search in messages/prefixes/both
2013-08-17 11:51:50 +02:00
Sebastien Helleu c624960336 core: add text emphasis in messages when searching text in buffer
New options:
- weechat.look.emphasized_attributes
- weechat.color.emphasized
- weechat.color.emphasized_bg
2013-08-16 16:16:37 +02:00
Sebastien Helleu 170acfe6f2 core: remove obsolete enum t_config_look_nicklist 2013-08-15 17:59:17 +02:00
Sebastien Helleu 7e0ae094cc core: add comment with return value of function string_regcomp 2013-08-12 10:51:49 +02:00
Sebastien Helleu ca7bb9a069 core: add note about "strftime" in help of options weechat.look.day_change_time_format and weechat.look.time_format 2013-08-11 20:04:07 +02:00
Sebastien Helleu c46d7e44f1 core: add support of shared strings in split of strings (add functions string_split_shared and string_free_split_shared) 2013-08-10 18:20:49 +02:00
Sebastien Helleu 49aacc853c core: add shared strings to reduce memory usage
Shared strings are stored in a hashtable with pointer for keys (values are not
used).

The key has a reference count + the string.
The initial reference count is set to 1 and is incremented each time the same
string is asked.

When removing a shared string, the reference count is decremented.
If it becomes 0, then the shared string is removed from the hashtable (and then
the string is really destroyed).
2013-08-10 18:20:49 +02:00
Sebastien Helleu 784de68a5f core: fix random crash on "/buffer close" with a buffer number (or a range of buffers) 2013-08-10 18:18:01 +02:00
Sebastien Helleu 6714d6fc82 core: optimize the removal of lines in buffers (a lot faster to clear/close buffers with lot of lines)
The update of variables "buffer_max_length" and "prefix_max_length" in struct
t_gui_lines is now delayed and made during the main refresh (in main loop).

For a buffer with 50K lines, it is up to 3300 times faster to clear/close it.
For a buffer with 4096 lines (default limit), it is up to 120 times faster.
2013-08-10 17:18:12 +02:00
Sebastien Helleu d12c9efdbc core: change type of hashtable key hash to unsigned long, return item pointer in functions hashtable_set(_with_size)
The key hash has been changed from unsigned int to unsigned long, and now the
callback can return any value (not only between 0 and size-1), the modulo is
computed after the call to the callback by the hashtable functions.

Functions hashtable_set and hashtable_set_with_size were returning 1 if OK,
0 if error. Now they return pointer to hashtable item, or NULL if error.
2013-08-10 09:35:06 +02:00
Sebastien Helleu e407c41c5c core: check that value is not NULL before calling free in hashtable_free_value 2013-08-09 23:06:41 +02:00
Sebastien Helleu abb574ec4e core: add "callback_free_key" in hashtable 2013-08-09 23:00:12 +02:00
Sebastien Helleu 72c1af25e0 core: set "callback_free_value" directly in hashtable without calling function hashtable_set_pointer 2013-08-09 22:54:06 +02:00
Sebastien Helleu da66a343b3 core: fix typo in /help secure 2013-08-07 08:27:28 +02:00
Sebastien Helleu 227f8ac604 core: fix uninitialized variable "result" in callback of command /eval 2013-08-04 12:51:01 +02:00
Sebastien Helleu f22b0311b9 core: change colors of example in /help weechat.look.buffer_time_format 2013-08-04 12:48:06 +02:00
Sebastien Helleu 390443112c core: optimize creation of hashtable "pointers" in eval_expression if argument is NULL
The hashtable is created on first call to eval_expression with pointers == NULL.
On next calls, the hashtable is cleared, then used again.
The hashtable is freed on exit.
2013-08-04 12:42:29 +02:00
Sebastien Helleu 8ca36552ea core: change color format for options from ${xxx} to ${color:xxx}
Options affected:
- weechat.look.buffer_time_format
- weechat.look.prefix_action
- weechat.look.prefix_error
- weechat.look.prefix_join
- weechat.look.prefix_network
- weechat.look.prefix_quit
2013-08-04 12:18:47 +02:00
Sebastien Helleu 6ea81f4c8c api: add support of colors with format "${color:xxx}" in function string_eval_expression and command /eval 2013-08-04 10:09:53 +02:00
Sebastien Helleu dc878c5b69 api: add argument "options" in function string_eval_expression, add option "-c" for command /eval (to evaluate a condition) 2013-08-04 08:56:56 +02:00
Sebastien Helleu 43e3ff3b1a core: change the message displayed when passphrase is not given on startup 2013-08-02 23:18:09 +02:00
Sebastien Helleu 5a07051f20 core: remove use of function gcry_kdf_derive so that it compiles with libgcrypt < 1.5.0
The key built with salt + passphrase has changed, so old encrypted data
in file sec.conf can not be decrypted with this new version.
2013-08-02 23:15:21 +02:00
Sebastien Helleu d6a19adc54 core: change the message displayed on /secure decrypt -discard 2013-08-02 23:04:23 +02:00
Sebastien Helleu 26fcc66953 core: update translations 2013-08-02 20:16:47 +02:00
Sebastien Helleu 663de42284 Merge branch 'secured-data' 2013-08-02 19:19:25 +02:00
Sebastien Helleu 996da2f662 core: rename binary and man page from "weechat-curses" to "weechat" (task #11027)
A symbolic link weechat-curses -> weechat is now created (by both cmake and
configure), so that the /upgrade will work from an old version.

However, if you upgrade from an old version, it is recommended to force the use
of the new binary name with the command: `/upgrade /path/to/weechat` (replace
the path accordingly).
2013-08-02 08:54:16 +02:00
Sebastien Helleu f9d57a3099 core: fix compiler warning on freopen (ignore file returned) 2013-08-01 16:29:12 +02:00
Sebastien Helleu 351674699c core: in case of empty passphrase, keep encrypted data in memory until the user runs /secure decrypt (with the good passphrase)
If user gives no passphrase (for example one space when prompted), the encrypted
data read in sec.conf will be stored in a separate hashtable.
While this hashtable contains something, it is not allowed to do any operation
on passphrase or secured data (and it is not allowed to reload sec.conf).
The user can decrypt data with /secure decrypt <passphrase>.
2013-07-30 12:16:44 +02:00
Sebastien Helleu b3923b65f1 core: use variable "items_count" directly from hashtable without calling function hashtable_get_integer 2013-07-30 10:10:37 +02:00
Sebastien Helleu 7e64b9f1f9 core: add note about evaluated content of option (for options allowing secured data inside) 2013-07-29 18:53:04 +02:00
Sebastien Helleu 0e4eb69d33 api: use pointer for infolist "hook" to return only one hook 2013-07-28 12:40:08 +02:00
Sebastien Helleu a668775ae3 core: add option sec.crypt.passphrase_file 2013-07-28 10:59:00 +02:00
Sebastien Helleu 8cd4bf3750 core: add option "-o" for command /color 2013-07-27 23:23:15 +02:00
Sebastien Helleu f3d537dd7a core: use two spaces to separate columns in /help, do not use columns when the commands fit on a single line 2013-07-27 22:44:42 +02:00
Sebastien Helleu ca1e0dde07 core: use default value for prefixes used in messages displayed before the interface is initialized 2013-07-27 22:31:36 +02:00
Sebastien Helleu a490195032 core: add secured data with optional encryption in file sec.conf 2013-07-27 12:57:08 +02:00
Sebastien Helleu 50ab62b75d core: fix priority of logical operators in evaluation of expression
The AND ("&&") takes precedence over the OR ("||").

Before the fix:
>> 1 || 1 && 0
== [0]

After the fix:
>> 1 || 1 && 0
== [1]

Since the "&&" has higher priority, expression is evaluated as:
"1 || (1 && 0)".
2013-07-24 08:15:17 +02:00
Sebastien Helleu 87e342dd9e core: add CA_FILE option in cmake and configure to setup default value of option weechat.network.gnutls_ca_file (task #12725) 2013-07-20 17:29:19 +02:00
Sebastien Helleu 56baaaffa8 core: use "/dev/null" for stdin in hook_process instead of closing stdin (bug #39538) 2013-07-20 15:45:25 +02:00
Sebastien Helleu 765297c038 Merge branch 'scroll-beyond-end' 2013-07-20 11:54:52 +02:00
Sebastien Helleu 94b9104d14 core: replace obsolete INCLUDES by AM_CPPFLAGS in files Makefile.am 2013-07-20 09:07:05 +02:00
Sebastien Helleu 22b20d6206 core: add options weechat.look.hotlist_prefix and weechat.look.hotlist_suffix (task #12730) (patch from Nils Görs) 2013-07-20 08:42:16 +02:00