patch 9.1.1200: cmdline pum not cleared for input() completion
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: #16874
closes: #16876
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index 166c9da..57b57cb 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -211,6 +211,37 @@
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