patch 9.1.1348: still E315 with the terminal feature
Problem: still E315 with the terminal feature
(user202729)
Solution: call update_topline() in limit_scrollback()
(Hirohito Higashi)
fixes: #17195
closes: #17196
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/terminal.c b/src/terminal.c
index 29926bf..471ab3a 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -3455,8 +3455,8 @@
sizeof(sb_line_T) * gap->ga_len);
if (update_buffer)
{
- win_T *curwin_save = curwin;
- win_T *wp = NULL;
+ win_T *curwin_save = curwin;
+ win_T *wp = NULL;
term->tl_scrollback_scrolled -= todo;
@@ -3466,14 +3466,11 @@
{
curwin = wp;
check_cursor();
+ update_topline();
}
}
curwin = curwin_save;
}
-
- // make sure cursor is on a valid line
- if (curbuf == term->tl_buffer)
- check_cursor();
}
/*
diff --git a/src/testdir/test_terminal2.vim b/src/testdir/test_terminal2.vim
index 542f2ec..e0f7bc5 100644
--- a/src/testdir/test_terminal2.vim
+++ b/src/testdir/test_terminal2.vim
@@ -245,6 +245,10 @@
endfunc
func Test_termwinscroll_topline()
+ if has('win32')
+ CheckGithubActions
+ endif
+
set termwinscroll=1000 mouse=a
terminal
call assert_equal(2, winnr('$'))
diff --git a/src/version.c b/src/version.c
index b805d70..91f2164 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1348,
+/**/
1347,
/**/
1346,