patch 8.2.4341: command line not redrawn when finishing popup menu
Problem: Command line not redrawn when finishing popup menu and the screen
has scrolled up.
Solution: Redraw the command line after updating the screen. (closes #9722)
diff --git a/src/cmdexpand.c b/src/cmdexpand.c
index 280bf83..79b6a2b 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -331,6 +331,7 @@
pum_undisplay();
VIM_CLEAR(compl_match_array);
update_screen(0);
+ redrawcmd();
}
void cmdline_pum_cleanup(cmdline_info_T *cclp)
diff --git a/src/testdir/dumps/Test_wildmenu_pum_38.dump b/src/testdir/dumps/Test_wildmenu_pum_38.dump
new file mode 100644
index 0000000..44c66ed
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_38.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|c|o|m|c|l|e|a|r| > @64
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index 8c5928f..1beb9af 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -2160,6 +2160,13 @@
call term_sendkeys(buf, ":sign \<Tab>\<C-A>\<S-Tab>")
call VerifyScreenDump(buf, 'Test_wildmenu_pum_37', {})
+ " After removing the pum the command line is redrawn
+ call term_sendkeys(buf, ":edit foo\<CR>")
+ call term_sendkeys(buf, ":edit bar\<CR>")
+ call term_sendkeys(buf, ":ls\<CR>")
+ call term_sendkeys(buf, ":com\<Tab> ")
+ call VerifyScreenDump(buf, 'Test_wildmenu_pum_38', {})
+
call term_sendkeys(buf, "\<C-U>\<CR>")
call StopVimInTerminal(buf)
call delete('Xtest')
diff --git a/src/version.c b/src/version.c
index 42e6a4c..d78e2d1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4341,
+/**/
4340,
/**/
4339,