changeset 29489:7c639dff32dd v9.0.0086

patch 9.0.0086: tabline is not redrawn when entering command line Commit: https://github.com/vim/vim/commit/6791adca53981666f0cf23e264e102b795224044 Author: zeertzjq <zeertzjq@outlook.com> Date: Tue Jul 26 20:42:25 2022 +0100 patch 9.0.0086: tabline is not redrawn when entering command line Problem: Tabline is not redrawn when entering command line. Solution: Set "redraw_tabline". (closes https://github.com/vim/vim/issues/10771)
author Bram Moolenaar <Bram@vim.org>
date Tue, 26 Jul 2022 21:45:04 +0200
parents 0bca7d819ae5
children 91a6d31b921c
files src/ex_getln.c src/testdir/test_cmdline.vim src/version.c
diffstat 3 files changed, 25 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1758,6 +1758,13 @@ getcmdline_int(
 		wp->w_redr_status = TRUE;
 		found_one = TRUE;
 	    }
+
+	if (*p_tal != NUL)
+	{
+	    redraw_tabline = TRUE;
+	    found_one = TRUE;
+	}
+
 	if (found_one)
 	    redraw_statuslines();
     }
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -3173,4 +3173,20 @@ func Test_long_error_message()
   silent! norm Q00000000000000     000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000                                                                                                                                                                                                                        
 endfunc
 
+func Test_cmdline_redraw_tabline()
+  CheckRunVimInTerminal
+
+  let lines =<< trim END
+      set showtabline=2
+      autocmd CmdlineEnter * set tabline=foo
+  END
+  call writefile(lines, 'Xcmdline_redraw_tabline')
+  let buf = RunVimInTerminal('-S Xcmdline_redraw_tabline', #{rows: 6})
+  call term_sendkeys(buf, ':')
+  call WaitForAssert({-> assert_match('^foo', term_getline(buf, 1))})
+
+  call StopVimInTerminal(buf)
+  call delete('Xcmdline_redraw_tabline')
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
--- a/src/version.c
+++ b/src/version.c
@@ -736,6 +736,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    86,
+/**/
     85,
 /**/
     84,