1
0
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:
Bram Moolenaar
2018-12-21 20:55:22 +01:00
parent 1916673a16
commit 528ccfbaa1
3 changed files with 12 additions and 2 deletions

View File

@@ -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;

View File

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

View File

@@ -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,
/**/ /**/