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 85f6229..853d93f 100644
--- a/src/term.c
+++ b/src/term.c
@@ -3801,7 +3801,7 @@
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 d67bfb7..1c1e1c0 100644
--- a/src/testdir/test_startup.vim
+++ b/src/testdir/test_startup.vim
@@ -821,6 +821,17 @@
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\<Esc>")
+ 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 5658467..cc9d81e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4031,
+/**/
4030,
/**/
4029,