]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.0.0086: tabline is not redrawn when entering command line v9.0.0086
authorzeertzjq <zeertzjq@outlook.com>
Tue, 26 Jul 2022 19:42:25 +0000 (20:42 +0100)
committerBram Moolenaar <Bram@vim.org>
Tue, 26 Jul 2022 19:42:25 +0000 (20:42 +0100)
Problem:    Tabline is not redrawn when entering command line.
Solution:   Set "redraw_tabline". (closes #10771)

src/ex_getln.c
src/testdir/test_cmdline.vim
src/version.c

index 3c984ff2a3d09b39b201893c5bd176378e67572e..a5196fcf6b207c96bef9a17f76645de8822fe246 100644 (file)
@@ -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();
     }
index 1994a8ca709d35a3183c5eae67533a688fe0f4fa..e1ee6336d30ec07179edfb43df56da4d7f2429df 100644 (file)
@@ -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
index a0caf3e9c3b51d2f04d50d92d47307a8fa91c2c8..ead1e1541bd1c3f0cc3c00e329f18c8493dca040 100644 (file)
@@ -735,6 +735,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    86,
 /**/
     85,
 /**/