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:
@@ -459,7 +459,7 @@ 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)
|
||||||
{
|
{
|
||||||
|
@@ -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()
|
||||||
|
@@ -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,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user