patch 9.1.1745: tabpanel: not properly redraw after wildmenu

Commit: 
https://github.com/vim/vim/commit/95593facd789a1ea6e93d5bc11719039bc1a1472
Author: Hirohito Higashi <[email protected]>
Date:   Tue Sep 9 15:11:13 2025 -0400

    patch 9.1.1745: tabpanel: not properly redraw after wildmenu
    
    Problem:  tabpanel: not properly redraw after wildmenu
              (ddad431)
    Solution: Mark tabpanel to be redrawn (Hirohito Higashi).
    
    fixes: #18209
    closes: #18252
    
    Signed-off-by: Hirohito Higashi <[email protected]>
    Signed-off-by: Christian Brabandt <[email protected]>

diff --git a/src/cmdexpand.c b/src/cmdexpand.c
index a3a8e467e..fdfafcbba 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -4501,6 +4501,9 @@ wildmenu_cleanup(cmdline_info_T *cclp UNUSED)
        p_ls = save_p_ls;
        p_wmh = save_p_wmh;
        last_status(FALSE);
+#if defined(FEAT_TABPANEL)
+       redraw_tabpanel = TRUE;
+#endif
        update_screen(UPD_VALID);       // redraw the screen NOW
        redrawcmd();
        save_p_ls = -1;
diff --git a/src/testdir/dumps/Test_tabpanel_with_cmdline_no_pum_0.dump 
b/src/testdir/dumps/Test_tabpanel_with_cmdline_no_pum_0.dump
new file mode 100644
index 000000000..e665e2536
--- /dev/null
+++ b/src/testdir/dumps/Test_tabpanel_with_cmdline_no_pum_0.dump
@@ -0,0 +1,10 @@
+|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @11|[|N|o| |N|a|m|e|]| | 
+2#0000000#ffffff0|a@2| | +1&&@7|X+8#0000001#e0e0e08
+|a+2#0000000#ffffff0@2| @16> +0&&@24
+| +1&&@19|~+0#4040ff13&| @23
+| +1#0000000&@19|~+0#4040ff13&| @23
+| +1#0000000&@19|~+0#4040ff13&| @23
+| +1#0000000&@19|~+0#4040ff13&| @23
+| +1#0000000&@19|~+0#4040ff13&| @23
+| +1#0000000&@19|~+0#4040ff13&| @23
+| +1#0000000&@19|~+0#4040ff13&| @23
+| +0#0000000&@44
diff --git a/src/testdir/dumps/Test_tabpanel_with_cmdline_no_pum_1.dump 
b/src/testdir/dumps/Test_tabpanel_with_cmdline_no_pum_1.dump
new file mode 100644
index 000000000..4b61a682d
--- /dev/null
+++ b/src/testdir/dumps/Test_tabpanel_with_cmdline_no_pum_1.dump
@@ -0,0 +1,10 @@
+|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @11|[|N|o| |N|a|m|e|]| | 
+2#0000000#ffffff0|a@2| | +1&&@7|X+8#0000001#e0e0e08
+|a+2#0000000#ffffff0@2| @16| +0&&@24
+| +1&&@19|~+0#4040ff13&| @23
+| +1#0000000&@19|~+0#4040ff13&| @23
+| +1#0000000&@19|~+0#4040ff13&| @23
+| +1#0000000&@19|~+0#4040ff13&| @23
+| +1#0000000&@19|~+0#4040ff13&| @23
+| +1#0000000&@19|~+0#4040ff13&| @23
+|t+0#0000001#ffff4012|a|b|n|e|w| +3#0000000#ffffff0@1|t|a|b|n|e|x|t| @29
+|:+0&&|t|a|b|n|e|w> @37
diff --git a/src/testdir/test_tabpanel.vim b/src/testdir/test_tabpanel.vim
index ecc12b59b..65c736276 100644
--- a/src/testdir/test_tabpanel.vim
+++ b/src/testdir/test_tabpanel.vim
@@ -147,6 +147,7 @@ function Test_tabpanel_mouse()
   call feedkeys("\<LeftRelease>", 'xt')
   call assert_equal(3, tabpagenr())
 
+  " Test getmousepos()
   call feedkeys("\<LeftMouse>", 'xt')
   call test_setmouse(2, 3)
   let pos = getmousepos()
@@ -770,4 +771,27 @@ function Test_tabpanel_with_cmdline_pum()
 
   call StopVimInTerminal(buf)
 endfunc
+
+function Test_tabpanel_with_cmdline_no_pum()
+  CheckScreendump
+
+  let lines =<< trim END
+    set showtabpanel=2
+    set noruler
+    tabnew aaa
+    set wildoptions-=pum
+  END
+  call writefile(lines, 'XTest_tabpanel_with_cmdline_pum', 'D')
+
+  let buf = RunVimInTerminal('-S XTest_tabpanel_with_cmdline_pum', {'rows': 
10, 'cols': 45})
+  call term_sendkeys(buf, "\<C-L>")
+  call VerifyScreenDump(buf, 'Test_tabpanel_with_cmdline_no_pum_0', {})
+  call term_sendkeys(buf, ":tabne\<Tab>")
+  call VerifyScreenDump(buf, 'Test_tabpanel_with_cmdline_no_pum_1', {})
+  call term_sendkeys(buf, "\<Esc>\<C-L>")
+  call VerifyScreenDump(buf, 'Test_tabpanel_with_cmdline_no_pum_0', {})
+
+  call StopVimInTerminal(buf)
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index ca232eef1..46a2bd232 100644
--- a/src/version.c
+++ b/src/version.c
@@ -724,6 +724,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1745,
 /**/
     1744,
 /**/

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1uw3o3-00E5Ly-CF%40256bit.org.

Raspunde prin e-mail lui