1
0
forked from aniani/vim

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)
This commit is contained in:
Bram Moolenaar
2020-05-31 16:04:42 +02:00
parent cfb4b47de0
commit b10090928c
3 changed files with 15 additions and 8 deletions

View File

@@ -459,9 +459,9 @@ term_start(
return NULL; return NULL;
} }
if (do_ecmd(0, NULL, NULL, &split_ea, ECMD_ONE, if (do_ecmd(0, NULL, NULL, &split_ea, ECMD_ONE,
ECMD_HIDE (buf_hide(curwin->w_buffer) ? ECMD_HIDE : 0)
+ ((flags & TERM_START_FORCEIT) ? ECMD_FORCEIT : 0), + ((flags & TERM_START_FORCEIT) ? ECMD_FORCEIT : 0),
curwin) == FAIL) curwin) == FAIL)
{ {
vim_free(term); vim_free(term);
return NULL; return NULL;

View File

@@ -450,17 +450,21 @@ func Test_terminal_curwin()
let cmd = Get_cat_123_cmd() let cmd = Get_cat_123_cmd()
call assert_equal(1, winnr('$')) 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 exe 'terminal ++curwin ' . cmd
call assert_equal(2, winnr('$')) call assert_equal(2, winnr('$'))
call assert_equal(0, getbufinfo('Xdummy')[0].loaded)
bwipe! bwipe!
split dummy split Xdummy
call term_start(cmd, {'curwin': 1}) call term_start(cmd, {'curwin': 1})
call assert_equal(2, winnr('$')) call assert_equal(2, winnr('$'))
bwipe! bwipe!
split dummy split Xdummy
call setline(1, 'change') call setline(1, 'change')
call assert_fails('terminal ++curwin ' . cmd, 'E37:') call assert_fails('terminal ++curwin ' . cmd, 'E37:')
call assert_equal(2, winnr('$')) call assert_equal(2, winnr('$'))
@@ -468,15 +472,16 @@ func Test_terminal_curwin()
call assert_equal(2, winnr('$')) call assert_equal(2, winnr('$'))
bwipe! bwipe!
split dummy split Xdummy
call setline(1, 'change') call setline(1, 'change')
call assert_fails("call term_start(cmd, {'curwin': 1})", 'E37:') call assert_fails("call term_start(cmd, {'curwin': 1})", 'E37:')
call assert_equal(2, winnr('$')) call assert_equal(2, winnr('$'))
bwipe! bwipe!
split dummy split Xdummy
bwipe! bwipe!
call delete('Xtext') call delete('Xtext')
call delete('Xdummy')
endfunc endfunc
func s:get_sleep_cmd() func s:get_sleep_cmd()

View File

@@ -746,6 +746,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
862,
/**/ /**/
861, 861,
/**/ /**/