1
0
forked from aniani/vim

patch 8.2.1780: statusline not updated when splitting windows

Problem:    Statusline not updated when splitting windows.
Solution:   Call status_redraw_all(). (Jason Franklin, closes #5496)
This commit is contained in:
Bram Moolenaar
2020-10-01 19:06:35 +02:00
parent 0022675aa3
commit 668008be66
3 changed files with 22 additions and 5 deletions

View File

@@ -433,4 +433,21 @@ func Test_statusline_removed_group()
call delete('XTest_statusline')
endfunc
func Test_statusline_after_split_vsplit()
only
" Make the status line of each window show the window number.
set ls=2 stl=%{winnr()}
split | redraw
vsplit | redraw
" The status line of the third window should read '3' here.
call assert_equal('3', nr2char(screenchar(&lines - 1, 1)))
only
set ls& stl&
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1780,
/**/
1779,
/**/

View File

@@ -1273,13 +1273,11 @@ win_split_ins(
if (flags & (WSP_TOP | WSP_BOT))
(void)win_comp_pos();
/*
* Both windows need redrawing
*/
// Both windows need redrawing. Update all status lines, in case they
// show something related to the window count or position.
redraw_win_later(wp, NOT_VALID);
wp->w_redr_status = TRUE;
redraw_win_later(oldwin, NOT_VALID);
oldwin->w_redr_status = TRUE;
status_redraw_all();
if (need_status)
{