diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-05-31 16:04:42 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-05-31 16:04:42 +0200 |
commit | b10090928cb5283f867e8457b7eea0985470d8d4 (patch) | |
tree | 4bfeb73e7a4238f26b31f34e52657143769a4a85 | |
parent | cfb4b47de08e4437c692d382067dc1692cd83c23 (diff) |
patch 8.2.0862: ":term ++curwin" makes the current buffer hiddenv8.2.0862
Problem: ":term ++curwin" makes the current buffer hidden. (Harm te
Hennepe)
Solution: Do not hide the current buffer. (closes #6170)
-rw-r--r-- | src/terminal.c | 6 | ||||
-rw-r--r-- | src/testdir/test_terminal.vim | 15 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 15 insertions, 8 deletions
diff --git a/src/terminal.c b/src/terminal.c index 86a1a0fc35..5514c73ea0 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -459,9 +459,9 @@ term_start( return NULL; } if (do_ecmd(0, NULL, NULL, &split_ea, ECMD_ONE, - ECMD_HIDE - + ((flags & TERM_START_FORCEIT) ? ECMD_FORCEIT : 0), - curwin) == FAIL) + (buf_hide(curwin->w_buffer) ? ECMD_HIDE : 0) + + ((flags & TERM_START_FORCEIT) ? ECMD_FORCEIT : 0), + curwin) == FAIL) { vim_free(term); return NULL; diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim index a8a549cbd9..7430eb2e0b 100644 --- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -450,17 +450,21 @@ func Test_terminal_curwin() let cmd = Get_cat_123_cmd() call assert_equal(1, winnr('$')) - split dummy + split Xdummy + call setline(1, 'dummy') + write + call assert_equal(1, getbufinfo('Xdummy')[0].loaded) exe 'terminal ++curwin ' . cmd call assert_equal(2, winnr('$')) + call assert_equal(0, getbufinfo('Xdummy')[0].loaded) bwipe! - split dummy + split Xdummy call term_start(cmd, {'curwin': 1}) call assert_equal(2, winnr('$')) bwipe! - split dummy + split Xdummy call setline(1, 'change') call assert_fails('terminal ++curwin ' . cmd, 'E37:') call assert_equal(2, winnr('$')) @@ -468,15 +472,16 @@ func Test_terminal_curwin() call assert_equal(2, winnr('$')) bwipe! - split dummy + split Xdummy call setline(1, 'change') call assert_fails("call term_start(cmd, {'curwin': 1})", 'E37:') call assert_equal(2, winnr('$')) bwipe! - split dummy + split Xdummy bwipe! call delete('Xtext') + call delete('Xdummy') endfunc func s:get_sleep_cmd() diff --git a/src/version.c b/src/version.c index d1ebe5b1a3..c39e7123d9 100644 --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 862, +/**/ 861, /**/ 860, |