Mercurial > vim
changeset 29794:5b46eb13e3bb v9.0.0236
patch 9.0.0236: popup menu not removed when 'wildmenu' reset while visible
Commit: https://github.com/vim/vim/commit/b82a2ab8ad7af52a327cdba013ec433f7caf550d
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sun Aug 21 14:33:57 2022 +0100
patch 9.0.0236: popup menu not removed when 'wildmenu' reset while visible
Problem: Popup menu not removed when 'wildmenu' reset while it is visible.
Solution: Do not check p_wmnu, only pum_visible(). (closes https://github.com/vim/vim/issues/10953)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 21 Aug 2022 15:45:03 +0200 |
parents | a31b094aef7d |
children | b420af3bd70f |
files | src/cmdexpand.c src/testdir/test_cmdline.vim src/version.c |
diffstat | 3 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cmdexpand.c +++ b/src/cmdexpand.c @@ -367,7 +367,7 @@ void cmdline_pum_display(void) */ int cmdline_pum_active(void) { - return p_wmnu && pum_visible() && compl_match_array != NULL; + return pum_visible() && compl_match_array != NULL; } /*
--- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -3234,4 +3234,14 @@ func Test_cmdline_redraw_tabline() call delete('Xcmdline_redraw_tabline') endfunc +func Test_wildmenu_pum_disable_while_shown() + set wildoptions=pum + set wildmenu + cnoremap <F2> <Cmd>set nowildmenu<CR> + call feedkeys(":sign \<Tab>\<F2>\<Esc>", 'tx') + call assert_equal(0, pumvisible()) + cunmap <F2> + set wildoptions& wildmenu& +endfunc + " vim: shiftwidth=2 sts=2 expandtab