forked from aniani/vim
patch 8.1.0618: term_getjob() does not return v:null as documented
Problem: term_getjob() does not return v:null as documented. Solution: Do return v:null. (Damien) Add a test.
This commit is contained in:
@@ -4794,11 +4794,14 @@ f_term_getjob(typval_T *argvars, typval_T *rettv)
|
|||||||
{
|
{
|
||||||
buf_T *buf = term_get_buf(argvars, "term_getjob()");
|
buf_T *buf = term_get_buf(argvars, "term_getjob()");
|
||||||
|
|
||||||
rettv->v_type = VAR_JOB;
|
|
||||||
rettv->vval.v_job = NULL;
|
|
||||||
if (buf == NULL)
|
if (buf == NULL)
|
||||||
|
{
|
||||||
|
rettv->v_type = VAR_SPECIAL;
|
||||||
|
rettv->vval.v_number = VVAL_NULL;
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
rettv->v_type = VAR_JOB;
|
||||||
rettv->vval.v_job = buf->b_term->tl_job;
|
rettv->vval.v_job = buf->b_term->tl_job;
|
||||||
if (rettv->vval.v_job != NULL)
|
if (rettv->vval.v_job != NULL)
|
||||||
++rettv->vval.v_job->jv_refcount;
|
++rettv->vval.v_job->jv_refcount;
|
||||||
|
|||||||
@@ -1714,3 +1714,8 @@ func Test_stop_in_terminal()
|
|||||||
call Stop_shell_in_terminal(bufnr)
|
call Stop_shell_in_terminal(bufnr)
|
||||||
exe bufnr . 'bwipe'
|
exe bufnr . 'bwipe'
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_terminal_no_job()
|
||||||
|
let term = term_start('false', {'term_finish': 'close'})
|
||||||
|
call WaitForAssert({-> assert_equal(v:null, term_getjob(term)) })
|
||||||
|
endfunc
|
||||||
|
|||||||
@@ -799,6 +799,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 */
|
||||||
|
/**/
|
||||||
|
618,
|
||||||
/**/
|
/**/
|
||||||
617,
|
617,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user