mirror of
https://github.com/neovim/neovim.git
synced 2024-09-17 20:58:20 -04:00
Merge pull request #22085 from neovim/backport-21000-to-release-0.8
[Backport release-0.8] fix(messages): reset msg_grid_scroll_discount when redrawing
This commit is contained in:
commit
b49f5c7882
@ -518,6 +518,7 @@ int update_screen(int type)
|
||||
}
|
||||
msg_scrolled = 0;
|
||||
msg_scrolled_at_flush = 0;
|
||||
msg_grid_scroll_discount = 0;
|
||||
need_wait_return = false;
|
||||
}
|
||||
|
||||
|
@ -128,7 +128,6 @@ static bool msg_ext_history_visible = false;
|
||||
static bool msg_ext_keep_after_cmdline = false;
|
||||
|
||||
static int msg_grid_pos_at_flush = 0;
|
||||
static int msg_grid_scroll_discount = 0;
|
||||
|
||||
static void ui_ext_msg_set_pos(int row, bool scrolled)
|
||||
{
|
||||
@ -2458,6 +2457,7 @@ void msg_reset_scroll(void)
|
||||
}
|
||||
msg_scrolled = 0;
|
||||
msg_scrolled_at_flush = 0;
|
||||
msg_grid_scroll_discount = 0;
|
||||
}
|
||||
|
||||
/// Increment "msg_scrolled".
|
||||
|
@ -66,6 +66,8 @@ EXTERN ScreenGrid msg_grid_adj INIT(= SCREEN_GRID_INIT);
|
||||
// value of msg_scrolled at latest msg_scroll_flush.
|
||||
EXTERN int msg_scrolled_at_flush INIT(= 0);
|
||||
|
||||
EXTERN int msg_grid_scroll_discount INIT(= 0);
|
||||
|
||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||
# include "message.h.generated.h"
|
||||
#endif
|
||||
|
@ -10,9 +10,11 @@ local async_meths = helpers.async_meths
|
||||
local test_build_dir = helpers.test_build_dir
|
||||
local nvim_prog = helpers.nvim_prog
|
||||
local iswin = helpers.iswin
|
||||
local exec = helpers.exec
|
||||
local exc_exec = helpers.exc_exec
|
||||
local exec_lua = helpers.exec_lua
|
||||
local poke_eventloop = helpers.poke_eventloop
|
||||
local assert_alive = helpers.assert_alive
|
||||
|
||||
describe('ui/ext_messages', function()
|
||||
local screen
|
||||
@ -1258,6 +1260,17 @@ vimComment xxx match /\s"[^\-:.%#=*].*$/ms=s+1,lc=1 excludenl contains=@vim
|
||||
end)
|
||||
end)
|
||||
|
||||
it('calling screenstring() after redrawing between messages without UI #20999', function()
|
||||
clear()
|
||||
exec([[
|
||||
echo repeat('a', 100)
|
||||
redraw
|
||||
echo "\n"
|
||||
call screenstring(1, 1)
|
||||
]])
|
||||
assert_alive()
|
||||
end)
|
||||
|
||||
describe('ui/ext_messages', function()
|
||||
local screen
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user