diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-04-14 21:31:35 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-04-14 21:31:35 +0200 |
commit | 6e72cd0d7267b9545ef966a53e62706914a96042 (patch) | |
tree | 1989d2ede9c089a7bc22905026bb76ca767d2eb7 | |
parent | b3623a382abc8f8e2bcfba4c1a2aa06b7578eb8d (diff) | |
download | vim-git-6e72cd0d7267b9545ef966a53e62706914a96042.tar.gz |
patch 8.0.1714: term_setsize() does not give an error in a normal bufferv8.0.1714
Problem: Term_setsize() does not give an error in a normal buffer.
Solution: Add an error message.
-rw-r--r-- | src/terminal.c | 7 | ||||
-rw-r--r-- | src/testdir/test_terminal.vim | 22 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 30 insertions, 1 deletions
diff --git a/src/terminal.c b/src/terminal.c index 7162d684c..be594c405 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -4629,7 +4629,12 @@ f_term_setsize(typval_T *argvars UNUSED, typval_T *rettv UNUSED) term_T *term; varnumber_T rows, cols; - if (buf == NULL || buf->b_term->tl_vterm == NULL) + if (buf == NULL) + { + EMSG(_("E955: Not a terminal buffer")); + return; + } + if (buf->b_term->tl_vterm == NULL) return; term = buf->b_term; rows = get_tv_number(&argvars[1]); diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim index 137de7ddd..95a131be7 100644 --- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -271,6 +271,27 @@ func Test_terminal_scroll() call delete('Xtext') endfunc +func Test_terminal_scrollback() + let buf = Run_shell_in_terminal({}) + set terminalscroll=100 + call writefile(range(150), 'Xtext') + if has('win32') + call term_sendkeys(buf, "type Xtext\<CR>") + else + call term_sendkeys(buf, "cat Xtext\<CR>") + endif + let rows = term_getsize(buf)[0] + call WaitFor({-> term_getline(buf, rows - 1) =~ '149'}) + let lines = line('$') + call assert_true(lines <= 100) + call assert_true(lines > 90) + + call Stop_shell_in_terminal(buf) + call term_wait(buf) + exe buf . 'bwipe' + set terminalscroll& +endfunc + func Test_terminal_size() let cmd = Get_cat_123_cmd() @@ -298,6 +319,7 @@ func Test_terminal_size() call assert_equal([7, 30], term_getsize('')) bwipe! + call assert_fails("call term_setsize('', 7, 30)", "E955:") call term_start(cmd, {'term_rows': 6, 'term_cols': 36}) let size = term_getsize('') diff --git a/src/version.c b/src/version.c index b76ccf4ce..76596f2bf 100644 --- a/src/version.c +++ b/src/version.c @@ -763,6 +763,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1714, +/**/ 1713, /**/ 1712, |