From 44710a91d06cdd6cba01a2d62fc9652f94651363 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sun, 15 Jan 2023 07:00:19 +0800 Subject: [PATCH] vim-patch:8.2.4481: cmdline popup menu not removed when 'lazyredraw' is set Problem: Cmdline popup menu not removed when 'lazyredraw' is set. Solution: Temporarily reset 'lazyredraw' when removing the popup menu. (closes vim/vim#9857) https://github.com/vim/vim/commit/5c52be40fbab14e050d7494d85be9039f07f7f8f Co-authored-by: Bram Moolenaar --- src/nvim/testdir/test_cmdline.vim | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/nvim/testdir/test_cmdline.vim b/src/nvim/testdir/test_cmdline.vim index 74a5d99ef9..75bcc575d3 100644 --- a/src/nvim/testdir/test_cmdline.vim +++ b/src/nvim/testdir/test_cmdline.vim @@ -2331,6 +2331,11 @@ func Test_wildmenu_pum() set tabline=%!MyTabLine() set showtabline=2 endfunc + + func DoFeedKeys() + let &wildcharm = char2nr("\t") + call feedkeys(":edit $VIMRUNTIME/\\\ab\") + endfunc [CODE] call writefile(commands, 'Xtest') @@ -2528,6 +2533,12 @@ func Test_wildmenu_pum() call term_sendkeys(buf, "\") call VerifyScreenDump(buf, 'Test_wildmenu_pum_40', {}) + " popup is cleared also when 'lazyredraw' is set + call term_sendkeys(buf, ":set showtabline=1 laststatus=1 lazyredraw\") + call term_sendkeys(buf, ":call DoFeedKeys()\") + call VerifyScreenDump(buf, 'Test_wildmenu_pum_41', {}) + call term_sendkeys(buf, "\") + call term_sendkeys(buf, "\\") call StopVimInTerminal(buf) call delete('Xtest')