mirror of
https://github.com/neovim/neovim.git
synced 2026-05-05 13:35:02 +00:00
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 vim/vim#5496)
668008be66
This commit is contained in:
@@ -412,3 +412,22 @@ func Test_statusline_removed_group()
|
||||
call StopVimInTerminal(buf)
|
||||
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
|
||||
|
||||
@@ -1490,13 +1490,11 @@ int win_split_ins(int size, int flags, win_T *new_wp, int dir)
|
||||
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) {
|
||||
msg_row = Rows - 1;
|
||||
|
||||
Reference in New Issue
Block a user