]> granicus.if.org Git - vim/commitdiff
patch 8.2.4341: command line not redrawn when finishing popup menu v8.2.4341
authorBram Moolenaar <Bram@vim.org>
Thu, 10 Feb 2022 21:09:45 +0000 (21:09 +0000)
committerBram Moolenaar <Bram@vim.org>
Thu, 10 Feb 2022 21:09:45 +0000 (21:09 +0000)
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)

src/cmdexpand.c
src/testdir/dumps/Test_wildmenu_pum_38.dump [new file with mode: 0644]
src/testdir/test_cmdline.vim
src/version.c

index 280bf8334873894f6ca23b7cd5b715b6d44b03eb..79b6a2b2c5ddf79ddf1e203bba34309eca8120b6 100644 (file)
@@ -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)
diff --git a/src/testdir/dumps/Test_wildmenu_pum_38.dump b/src/testdir/dumps/Test_wildmenu_pum_38.dump
new file mode 100644 (file)
index 0000000..44c66ed
--- /dev/null
@@ -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
index 8c5928faacf4c770b4dd4d06d44966b260c75d14..1beb9af4baeaca95dc9c9478a723220a8697930a 100644 (file)
@@ -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')
index 42e6a4ca119690ce840b57973f743545aabdcaec..d78e2d1b4540611ca3c412546e7bf802d8dd5af3 100644 (file)
@@ -746,6 +746,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    4341,
 /**/
     4340,
 /**/