# HG changeset patch # User Bram Moolenaar # Date 1590934503 -7200 # Node ID c81f61e3b508021a1291b26e0716c2b1a5c3fd0b # Parent 3c58d3e60e986583779b999fee4b65d73a132010 patch 8.2.0862: ":term ++curwin" makes the current buffer hidden Commit: https://github.com/vim/vim/commit/b10090928cb5283f867e8457b7eea0985470d8d4 Author: Bram Moolenaar Date: Sun May 31 16:04:42 2020 +0200 patch 8.2.0862: ":term ++curwin" makes the current buffer hidden Problem: ":term ++curwin" makes the current buffer hidden. (Harm te Hennepe) Solution: Do not hide the current buffer. (closes #6170) diff --git a/src/terminal.c b/src/terminal.c --- 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 --- 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 --- 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,