Commit: patch 9.2.0161: intro message disappears on startup in some terminals

1 view
Skip to first unread message

Christian Brabandt

unread,
Mar 13, 2026, 6:31:59 PM (10 days ago) Mar 13
to vim...@googlegroups.com
patch 9.2.0161: intro message disappears on startup in some terminals

Commit: https://github.com/vim/vim/commit/ef3d79ebbe014effa2acd15b26b42086f6c0eebf
Author: Foxe Chen <chen...@gmail.com>
Date: Fri Mar 13 22:14:36 2026 +0000

patch 9.2.0161: intro message disappears on startup in some terminals

Problem: intro message disappears on startup in some terminals
(chdiza, after v9.2.0139)
Solution: Only call set_shellsize() in handle_csi() if the reported
width or height actually differs from the current
Rows or Columns. (Foxe Chen)

fixes: #19656
closes: #19660

Signed-off-by: Foxe Chen <chen...@gmail.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/term.c b/src/term.c
index a1bb6c1b9..a5fab44ea 100644
--- a/src/term.c
+++ b/src/term.c
@@ -5791,7 +5791,10 @@ handle_csi(
key_name[0] = (int)KS_EXTRA;
key_name[1] = (int)KE_IGNORE;

- set_shellsize(width, height, true);
+ // Only update if needed. Avoids intro message from disappearing on
+ // startup (due to initial event).
+ if (height != Rows || width != Columns)
+ set_shellsize(width, height, true);
}
#endif

diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim
index e5f31259e..90cbc87df 100644
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -2991,6 +2991,16 @@ func Test_term_win_resize()

call WaitForAssert({-> assert_equal(["50 100"], readfile("XTestWinResizeResult"))})

+ " Test that screen is only resized if it actually changed in width or height.
+ call term_sendkeys(buf, "\<Esc>:intro\<CR>")
+ call TermWait(buf)
+
+ call term_sendkeys(buf, "\<Esc>[48;50;100;0;0t")
+ call TermWait(buf)
+
+ " call delete("tmp.dump")
+ " call term_dumpwrite(buf, "tmp.dump")
+
" SIGWINCH handler should be uninstalled
call job_stop(term_getjob(buf), 28)
call TermWait(buf)
diff --git a/src/version.c b/src/version.c
index c0f5c7488..c215222c9 100644
--- a/src/version.c
+++ b/src/version.c
@@ -734,6 +734,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 161,
/**/
160,
/**/
Reply all
Reply to author
Forward
0 new messages