Merge pull request #19997 from bfredl/lastsep

fix(redraw): handle switching to a tabpage with larger p_ch value
This commit is contained in:
bfredl 2022-08-29 23:52:47 +02:00 committed by GitHub
commit e78e369a9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 3 deletions

View File

@ -4343,6 +4343,11 @@ static void enter_tabpage(tabpage_T *tp, buf_T *old_curbuf, bool trigger_enter_a
// Use the stored value of p_ch, so that it can be different for each tab page.
if (p_ch != curtab->tp_ch_used) {
clear_cmdline = true;
if (msg_grid.chars && p_ch < curtab->tp_ch_used) {
// TODO(bfredl): a bit expensive, should be enough to invalidate the
// region between the old and the new p_ch.
grid_invalidate(&msg_grid);
}
}
p_ch = curtab->tp_ch_used;

View File

@ -19,8 +19,6 @@ describe('cmdline', function()
[3] = {reverse = true};
[4] = {bold = true, foreground = Screen.colors.Blue1};
}
-- TODO(bfredl): redraw with tabs is severly broken. fix it
feed_command [[ set display-=msgsep ]]
feed_command([[call setline(1, range(30))]])
screen:expect([[
@ -61,7 +59,7 @@ describe('cmdline', function()
{4:~ }|
|
|
:tabnew |
|
]]}
feed [[gt]]