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,7 +459,7 @@ term_start(
return NULL;
}
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),
curwin) == FAIL)
{

View File

@@ -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()

View File

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