# HG changeset patch # User Bram Moolenaar # Date 1641583804 -3600 # Node ID 671664c5faa4564bc2ba78b87f330cc163d91c8e # Parent ee78c4d9035df52eadc6809cf22a9a50463903a4 patch 8.2.4031: crash in xterm with only two lines Commit: https://github.com/vim/vim/commit/d1f34e64f0e1a9ddaed76623bc40e669f2d09260 Author: Bram Moolenaar Date: Fri Jan 7 19:24:20 2022 +0000 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 https://github.com/vim/vim/issues/9488) diff --git a/src/term.c b/src/term.c --- 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 --- 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 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4031, +/**/ 4030, /**/ 4029,