mirror of
https://github.com/neovim/neovim.git
synced 2025-10-15 14:26:07 +00:00
fix(redraw): handle switching to a tabpage with larger p_ch value
This commit is contained in:
@@ -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.
|
// Use the stored value of p_ch, so that it can be different for each tab page.
|
||||||
if (p_ch != curtab->tp_ch_used) {
|
if (p_ch != curtab->tp_ch_used) {
|
||||||
clear_cmdline = true;
|
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;
|
p_ch = curtab->tp_ch_used;
|
||||||
|
|
||||||
|
@@ -19,8 +19,6 @@ describe('cmdline', function()
|
|||||||
[3] = {reverse = true};
|
[3] = {reverse = true};
|
||||||
[4] = {bold = true, foreground = Screen.colors.Blue1};
|
[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))]])
|
feed_command([[call setline(1, range(30))]])
|
||||||
screen:expect([[
|
screen:expect([[
|
||||||
@@ -61,7 +59,7 @@ describe('cmdline', function()
|
|||||||
{4:~ }|
|
{4:~ }|
|
||||||
|
|
|
|
||||||
|
|
|
|
||||||
:tabnew |
|
|
|
||||||
]]}
|
]]}
|
||||||
|
|
||||||
feed [[gt]]
|
feed [[gt]]
|
||||||
|
Reference in New Issue
Block a user