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)

5c52be40fb

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
zeertzjq 2023-01-15 07:00:19 +08:00
parent 4c8d707a5e
commit 44710a91d0

View File

@ -2331,6 +2331,11 @@ func Test_wildmenu_pum()
set tabline=%!MyTabLine() set tabline=%!MyTabLine()
set showtabline=2 set showtabline=2
endfunc endfunc
func DoFeedKeys()
let &wildcharm = char2nr("\t")
call feedkeys(":edit $VIMRUNTIME/\<Tab>\<Left>\<C-U>ab\<Tab>")
endfunc
[CODE] [CODE]
call writefile(commands, 'Xtest') call writefile(commands, 'Xtest')
@ -2528,6 +2533,12 @@ func Test_wildmenu_pum()
call term_sendkeys(buf, "\<Esc>") call term_sendkeys(buf, "\<Esc>")
call VerifyScreenDump(buf, 'Test_wildmenu_pum_40', {}) 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\<CR>")
call term_sendkeys(buf, ":call DoFeedKeys()\<CR>")
call VerifyScreenDump(buf, 'Test_wildmenu_pum_41', {})
call term_sendkeys(buf, "\<Esc>")
call term_sendkeys(buf, "\<C-U>\<CR>") call term_sendkeys(buf, "\<C-U>\<CR>")
call StopVimInTerminal(buf) call StopVimInTerminal(buf)
call delete('Xtest') call delete('Xtest')