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
--- a/src/version.c
+++ b/src/version.c
@@ -732,6 +732,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    236,
+/**/
     235,
 /**/
     234,