Mercurial > vim
diff src/dict.c @ 16268:0f65f2808470 v8.1.1138
patch 8.1.1138: plugins don't get notified when the popup menu changes
commit https://github.com/vim/vim/commit/d7f246c68cfb97406bcd4b098a2df2d870b3ef92
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Apr 8 18:15:41 2019 +0200
patch 8.1.1138: plugins don't get notified when the popup menu changes
Problem: Plugins don't get notified when the popup menu changes.
Solution: Add the CompleteChanged event. (Andy Massimino. closes https://github.com/vim/vim/issues/4176)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 08 Apr 2019 18:30:06 +0200 |
parents | 5b6c3c7feba8 |
children | 54ffc82f38a8 |
line wrap: on
line diff
--- a/src/dict.c +++ b/src/dict.c @@ -342,18 +342,18 @@ dict_add(dict_T *d, dictitem_T *item) } /* - * Add a number entry to dictionary "d". + * Add a number or special entry to dictionary "d". * Returns FAIL when out of memory and when key already exists. */ - int -dict_add_number(dict_T *d, char *key, varnumber_T nr) + static int +dict_add_number_special(dict_T *d, char *key, varnumber_T nr, int special) { dictitem_T *item; item = dictitem_alloc((char_u *)key); if (item == NULL) return FAIL; - item->di_tv.v_type = VAR_NUMBER; + item->di_tv.v_type = special ? VAR_SPECIAL : VAR_NUMBER; item->di_tv.vval.v_number = nr; if (dict_add(d, item) == FAIL) { @@ -364,6 +364,26 @@ dict_add_number(dict_T *d, char *key, va } /* + * Add a number entry to dictionary "d". + * Returns FAIL when out of memory and when key already exists. + */ + int +dict_add_number(dict_T *d, char *key, varnumber_T nr) +{ + return dict_add_number_special(d, key, nr, FALSE); +} + +/* + * Add a special entry to dictionary "d". + * Returns FAIL when out of memory and when key already exists. + */ + int +dict_add_special(dict_T *d, char *key, varnumber_T nr) +{ + return dict_add_number_special(d, key, nr, TRUE); +} + +/* * Add a string entry to dictionary "d". * Returns FAIL when out of memory and when key already exists. */