vim-patch:9.1.1200: cmdline pum not cleared for input() completion (#32879)

Problem:  Cmdline pum not cleared for input() completion.
Solution: Temporary reset RedrawingDisabled in cmdline_pum_cleanup(),
          like what is done in wildmenu_cleanup() (zeertzjq).

fixes: vim/vim#16874
closes: vim/vim#16876

1830e787f6

No code change is needed in Nvim, as RedrawingDisabled does not prevent
the compositor from removing a grid.
This commit is contained in:
zeertzjq
2025-03-14 07:15:53 +08:00
committed by GitHub
parent 282f73f067
commit 4f6196e91d
2 changed files with 102 additions and 0 deletions

View File

@@ -212,6 +212,37 @@ func Test_wildmenu_screendump()
call StopVimInTerminal(buf)
endfunc
func Test_wildmenu_with_input_func()
CheckScreendump
let buf = RunVimInTerminal('-c "set wildmenu"', {'rows': 8})
call term_sendkeys(buf, ":call input('Command? ', '', 'command')\<CR>")
call VerifyScreenDump(buf, 'Test_wildmenu_input_func_1', {})
call term_sendkeys(buf, "ech\<Tab>")
call VerifyScreenDump(buf, 'Test_wildmenu_input_func_2', {})
call term_sendkeys(buf, "\<Space>")
call VerifyScreenDump(buf, 'Test_wildmenu_input_func_3', {})
call term_sendkeys(buf, "bufn\<Tab>")
call VerifyScreenDump(buf, 'Test_wildmenu_input_func_4', {})
call term_sendkeys(buf, "\<CR>")
call term_sendkeys(buf, ":set wildoptions+=pum\<CR>")
call term_sendkeys(buf, ":call input('Command? ', '', 'command')\<CR>")
call VerifyScreenDump(buf, 'Test_wildmenu_input_func_5', {})
call term_sendkeys(buf, "ech\<Tab>")
call VerifyScreenDump(buf, 'Test_wildmenu_input_func_6', {})
call term_sendkeys(buf, "\<Space>")
call VerifyScreenDump(buf, 'Test_wildmenu_input_func_7', {})
call term_sendkeys(buf, "bufn\<Tab>")
call VerifyScreenDump(buf, 'Test_wildmenu_input_func_8', {})
call term_sendkeys(buf, "\<CR>")
" clean up
call StopVimInTerminal(buf)
endfunc
func Test_redraw_in_autocmd()
CheckScreendump