Mercurial > vim
diff src/popupwin.c @ 16892:60c9ac14a2ec v8.1.1447
patch 8.1.1447: not allowed to create an empty popup
commit https://github.com/vim/vim/commit/7b29dd850752b975baef47b66c590f5e978ad847
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jun 2 13:22:11 2019 +0200
patch 8.1.1447: not allowed to create an empty popup
Problem: Not allowed to create an empty popup.
Solution: Remove restriction that there is some text. (closes https://github.com/vim/vim/issues/4470)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 02 Jun 2019 13:30:05 +0200 |
parents | 5131023c5728 |
children | 52fc577a087d |
line wrap: on
line diff
--- a/src/popupwin.c +++ b/src/popupwin.c @@ -488,12 +488,8 @@ popup_create(typval_T *argvars, typval_T int nr; // Check arguments look OK. - if (!(argvars[0].v_type == VAR_STRING - && argvars[0].vval.v_string != NULL - && STRLEN(argvars[0].vval.v_string) > 0) - && !(argvars[0].v_type == VAR_LIST - && argvars[0].vval.v_list != NULL - && argvars[0].vval.v_list->lv_len > 0)) + if (!(argvars[0].v_type == VAR_STRING && argvars[0].vval.v_string != NULL) + && !(argvars[0].v_type == VAR_LIST && argvars[0].vval.v_list != NULL)) { emsg(_(e_listreq)); return; @@ -560,12 +556,15 @@ popup_create(typval_T *argvars, typval_T { list_T *l = argvars[0].vval.v_list; - if (l->lv_first->li_tv.v_type == VAR_STRING) - // list of strings - add_popup_strings(buf, l); - else - // list of dictionaries - add_popup_dicts(buf, l); + if (l->lv_len > 0) + { + if (l->lv_first->li_tv.v_type == VAR_STRING) + // list of strings + add_popup_strings(buf, l); + else + // list of dictionaries + add_popup_dicts(buf, l); + } } // Delete the line of the empty buffer.