diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-08-04 20:17:31 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-08-04 20:17:31 +0200 |
commit | ecd34bf55d72f530859e290ac02ee41f9fb27cce (patch) | |
tree | 14398ccf3e01d8e0233c1994c8e0938086a03e32 | |
parent | 6a25026262e2cdbbd8738361c5bd6ebef8862d87 (diff) |
patch 8.2.1362: last entry of ":set term=xxx" overwritten by error messagev8.2.1362
Problem: Last entry of ":set term=xxx" overwritten by error message when
'cmdheight' is two or more. (Tony Mechelynck)
Solution: Output extra line breaks.
-rw-r--r-- | src/term.c | 5 | ||||
-rw-r--r-- | src/testdir/test_termcodes.vim | 12 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 19 insertions, 0 deletions
diff --git a/src/term.c b/src/term.c index 3c0ca779b4..3648df6d50 100644 --- a/src/term.c +++ b/src/term.c @@ -1763,6 +1763,7 @@ get_term_entries(int *height, int *width) report_term_error(char *error_msg, char_u *term) { struct builtin_term *termp; + int i; mch_errmsg("\r\n"); if (error_msg != NULL) @@ -1787,6 +1788,10 @@ report_term_error(char *error_msg, char_u *term) mch_errmsg("\r\n"); } } + // Output extra 'cmdheight' line breaks to avoid that the following error + // message overwrites the last terminal name. + for (i = 1; i < p_ch; ++i) + mch_errmsg("\r\n"); } static void diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim index 30123148f6..da2f066ac7 100644 --- a/src/testdir/test_termcodes.vim +++ b/src/testdir/test_termcodes.vim @@ -7,6 +7,7 @@ CheckUnix source shared.vim source mouse.vim +source view_util.vim func Test_term_mouse_left_click() new @@ -1893,6 +1894,17 @@ func Test_get_termcode() set ttybuiltin endfunc +func Test_list_builtin_terminals() + let buf = RunVimInTerminal('', #{rows: 14}) + call term_sendkeys(buf, ":set cmdheight=3\<CR>") + call term_wait(buf, 100) + call term_sendkeys(buf, ":set term=xxx\<CR>") + call term_wait(buf, 100) + call assert_match('builtin_dumb', term_getline(buf, 11)) + call assert_match('Not found in termcap', term_getline(buf, 12)) + call StopVimInTerminal(buf) +endfunc + func GetEscCodeCSI27(key, modifier) let key = printf("%d", char2nr(a:key)) let mod = printf("%d", a:modifier) diff --git a/src/version.c b/src/version.c index cb54f8cdb3..251a59431c 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1362, +/**/ 1361, /**/ 1360, |