changeset 27630:9caeb7f8b094 v8.2.4341

patch 8.2.4341: command line not redrawn when finishing popup menu Commit: https://github.com/vim/vim/commit/414acd342f4a66d930da34d419929985b48bd301 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Feb 10 21:09:45 2022 +0000 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)
author Bram Moolenaar <Bram@vim.org>
date Thu, 10 Feb 2022 22:15:02 +0100
parents fc05930fabdf
children 908300c6aa8e
files src/cmdexpand.c src/testdir/dumps/Test_wildmenu_pum_38.dump src/testdir/test_cmdline.vim src/version.c
diffstat 4 files changed, 20 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -331,6 +331,7 @@ void cmdline_pum_remove(void)
     pum_undisplay();
     VIM_CLEAR(compl_match_array);
     update_screen(0);
+    redrawcmd();
 }
 
 void cmdline_pum_cleanup(cmdline_info_T *cclp)
new file mode 100644
--- /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
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -2160,6 +2160,13 @@ func Test_wildmenu_pum()
   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')
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4341,
+/**/
     4340,
 /**/
     4339,