1
0
forked from aniani/vim

patch 7.4.1687

Problem:    The channel close_cb option does not work.
Solution:   Use jo_close_partial instead of jo_err_partial. (Damien)
This commit is contained in:
Bram Moolenaar
2016-03-30 21:06:57 +02:00
parent e9c0727003
commit bdf0bda968
3 changed files with 26 additions and 1 deletions

View File

@@ -1103,7 +1103,7 @@ channel_set_options(channel_T *channel, jobopt_T *opt)
*cbp = vim_strsave(opt->jo_close_cb);
else
*cbp = NULL;
*pp = opt->jo_err_partial;
*pp = opt->jo_close_partial;
if (*pp != NULL)
++(*pp)->pt_refcount;
}

View File

@@ -1203,6 +1203,29 @@ func Test_close_callback()
call s:run_server('s:test_close_callback')
endfunc
function s:test_close_partial(port)
let handle = ch_open('localhost:' . a:port, s:chopt)
if ch_status(handle) == "fail"
call assert_false(1, "Can't open channel")
return
endif
let s:d = {}
func s:d.closeCb(ch) dict
let self.close_ret = 'closed'
endfunc
call ch_setoptions(handle, {'close_cb': s:d.closeCb})
call assert_equal('', ch_evalexpr(handle, 'close me'))
call s:waitFor('"closed" == s:d.close_ret')
call assert_equal('closed', s:d.close_ret)
unlet s:d
endfunc
func Test_close_partial()
call ch_log('Test_close_partial()')
call s:run_server('s:test_close_partial')
endfunc
func Test_job_start_invalid()
call assert_fails('call job_start($x)', 'E474:')
call assert_fails('call job_start("")', 'E474:')

View File

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