From: Bram Moolenaar Date: Fri, 7 Jan 2022 19:24:20 +0000 (+0000) Subject: patch 8.2.4031: crash in xterm with only two lines X-Git-Tag: v8.2.4031 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d1f34e64f0e1a9ddaed76623bc40e669f2d09260;p=vim patch 8.2.4031: crash in xterm with only two lines Problem: Crash in xterm with only two lines. (Dominique Pellé) Solution: Only perform xterm compatibility test if possible. (closes #9488) --- diff --git a/src/term.c b/src/term.c index 85f622934..853d93fef 100644 --- a/src/term.c +++ b/src/term.c @@ -3801,7 +3801,7 @@ check_terminal_behavior(void) line_was_clobbered(1); } - if (xcc_status.tr_progress == STATUS_GET) + if (xcc_status.tr_progress == STATUS_GET && Rows > 2) { // 2. Check compatibility with xterm. // We move the cursor to (2, 0), print a test sequence and then query diff --git a/src/testdir/test_startup.vim b/src/testdir/test_startup.vim index d67bfb777..1c1e1c0f3 100644 --- a/src/testdir/test_startup.vim +++ b/src/testdir/test_startup.vim @@ -821,6 +821,17 @@ func Test_start_with_tabs() call StopVimInTerminal(buf) endfunc +func Test_start_in_minimal_window() + CheckRunVimInTerminal + + let buf = RunVimInTerminal('-c "set nomore"', {'cols': 12, 'rows': 2, 'keep_t_u7': 1}) + call term_sendkeys(buf, "ahello\") + call WaitForAssert({-> assert_match('^hello', term_getline(buf, 1))}) + + " clean up + call StopVimInTerminal(buf) +endfunc + func Test_v_argv() " Can't catch the output of gvim. CheckNotGui diff --git a/src/version.c b/src/version.c index 565846746..cc9d81ea2 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 4031, /**/ 4030, /**/