summaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2013-08-10core: add shared strings to reduce memory usageSebastien Helleu
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-10core: fix random crash on "/buffer close" with a buffer number (or a range ↵Sebastien Helleu
of buffers)
2013-08-10core: optimize the removal of lines in buffers (a lot faster to clear/close ↵Sebastien Helleu
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-10core: change type of hashtable key hash to unsigned long, return item ↵Sebastien Helleu
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-09core: check that value is not NULL before calling free in hashtable_free_valueSebastien Helleu
2013-08-09core: add "callback_free_key" in hashtableSebastien Helleu
2013-08-09core: set "callback_free_value" directly in hashtable without calling ↵Sebastien Helleu
function hashtable_set_pointer
2013-08-07core: fix typo in /help secureSebastien Helleu
2013-08-04core: fix uninitialized variable "result" in callback of command /evalSebastien Helleu
2013-08-04core: change colors of example in /help weechat.look.buffer_time_formatSebastien Helleu
2013-08-04core: optimize creation of hashtable "pointers" in eval_expression if ↵Sebastien Helleu
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-04core: change color format for options from `${xxx}` to `${color:xxx}`Sebastien Helleu
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-04api: add support of colors with format "${color:xxx}" in function ↵Sebastien Helleu
string_eval_expression and command /eval
2013-08-04api: add argument "options" in function string_eval_expression, add option ↵Sebastien Helleu
"-c" for command /eval (to evaluate a condition)
2013-08-02core: change the message displayed when passphrase is not given on startupSebastien Helleu
2013-08-02core: remove use of function gcry_kdf_derive so that it compiles with ↵Sebastien Helleu
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-02core: change the message displayed on /secure decrypt -discardSebastien Helleu
2013-08-02core: update translationsSebastien Helleu
2013-08-02Merge branch 'secured-data'Sebastien Helleu
2013-08-02core: rename binary and man page from "weechat-curses" to "weechat" (task ↵Sebastien Helleu
#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-01core: fix compiler warning on freopen (ignore file returned)Sebastien Helleu
2013-07-30core: in case of empty passphrase, keep encrypted data in memory until the ↵Sebastien Helleu
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-30core: use variable "items_count" directly from hashtable without calling ↵Sebastien Helleu
function hashtable_get_integer
2013-07-29core: add note about evaluated content of option (for options allowing ↵Sebastien Helleu
secured data inside)
2013-07-28api: use pointer for infolist "hook" to return only one hookSebastien Helleu
2013-07-28core: add option sec.crypt.passphrase_fileSebastien Helleu
2013-07-27core: add option "-o" for command /colorSebastien Helleu
2013-07-27core: use two spaces to separate columns in /help, do not use columns when ↵Sebastien Helleu
the commands fit on a single line
2013-07-27core: use default value for prefixes used in messages displayed before the ↵Sebastien Helleu
interface is initialized
2013-07-27core: add secured data with optional encryption in file sec.confSebastien Helleu
2013-07-24core: fix priority of logical operators in evaluation of expressionSebastien Helleu
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-20core: add CA_FILE option in cmake and configure to setup default value of ↵Sebastien Helleu
option weechat.network.gnutls_ca_file (task #12725)
2013-07-20core: use "/dev/null" for stdin in hook_process instead of closing stdin ↵Sebastien Helleu
(bug #39538)
2013-07-20Merge branch 'scroll-beyond-end'Sebastien Helleu
2013-07-20core: replace obsolete INCLUDES by AM_CPPFLAGS in files Makefile.amSebastien Helleu
2013-07-20core: add options weechat.look.hotlist_prefix and ↵Sebastien Helleu
weechat.look.hotlist_suffix (task #12730) (patch from Nils Görs)
2013-07-17core: add option "scroll_beyond_end" for command /window (task #6745)Sebastien Helleu
2013-07-15core: add option weechat.look.key_bind_safeSebastien Helleu
2013-07-11core: sort config options by name in sourcesSebastien Helleu
2013-07-08core: fix crash in evaluation of expression when reading a string in hdata ↵Sebastien Helleu
with a NULL value (bug #39419)
2013-07-05core: add completion "-quit" for command /upgradeSebastien Helleu
A "-dummy" option has been added too, just to prevent accidental completion with "-quit" (which is the first option completed). Thanks to stfn for initial patch.
2013-07-02core: add missing period in /help upgradeSebastien Helleu
2013-06-29core: move test of invalid UTF-8 char length from gui-chat.c to wee-utf8.cSebastien Helleu
2013-06-28core: remove obsolete command line option -k/--keysSebastien Helleu
The user's guide is better to view WeeChat default keys.
2013-06-28core: update man page and add translations (in french, german, italian, and ↵Sebastien Helleu
japanese)
2013-06-08core: add option weechat.network.proxy_curl (task #12651)Sebastien Helleu
2013-06-08core: add options for Curl >= 7.25Sebastien Helleu
2013-06-08core: add "proxy" infolist and hdataSebastien Helleu
2013-05-28core: set options weechat.look.color_inactive_{buffer|window} to "on" by defaultSebastien Helleu
2013-05-24core: fix compilation error when gnutls is not foundSebastien Helleu