forked from aniani/vim
patch 7.4.2287
Problem: The callback passed to ch_sendraw() is not used. Solution: Pass the read part, not the send part. (haya14busa, closes #1019)
This commit is contained in:
parent
fec246d2c5
commit
6fc8227ebf
@ -3456,7 +3456,7 @@ send_common(
|
||||
EMSG2(_("E917: Cannot use a callback with %s()"), fun);
|
||||
return NULL;
|
||||
}
|
||||
channel_set_req_callback(channel, part_send,
|
||||
channel_set_req_callback(channel, *part_read,
|
||||
opt->jo_callback, opt->jo_partial, id);
|
||||
}
|
||||
|
||||
|
@ -245,7 +245,6 @@ endfunc
|
||||
|
||||
"""""""""
|
||||
|
||||
let g:Ch_reply = ""
|
||||
func Ch_handler(chan, msg)
|
||||
unlet g:Ch_reply
|
||||
let g:Ch_reply = a:msg
|
||||
@ -271,8 +270,10 @@ endfunc
|
||||
|
||||
func Test_channel_handler()
|
||||
call ch_log('Test_channel_handler()')
|
||||
let g:Ch_reply = ""
|
||||
let s:chopt.callback = 'Ch_handler'
|
||||
call s:run_server('Ch_channel_handler')
|
||||
let g:Ch_reply = ""
|
||||
let s:chopt.callback = function('Ch_handler')
|
||||
call s:run_server('Ch_channel_handler')
|
||||
unlet s:chopt.callback
|
||||
@ -443,6 +444,11 @@ func Test_raw_pipe()
|
||||
let msg = ch_readraw(job)
|
||||
call assert_equal("this\nAND this\n", substitute(msg, "\r", "", 'g'))
|
||||
|
||||
let g:Ch_reply = ""
|
||||
call ch_sendraw(job, "double this\n", {'callback': 'Ch_handler'})
|
||||
call WaitFor('"" != g:Ch_reply')
|
||||
call assert_equal("this\nAND this\n", substitute(g:Ch_reply, "\r", "", 'g'))
|
||||
|
||||
let reply = ch_evalraw(job, "quit\n", {'timeout': 100})
|
||||
call assert_equal("Goodbye!\n", substitute(reply, "\r", "", 'g'))
|
||||
finally
|
||||
|
@ -763,6 +763,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2287,
|
||||
/**/
|
||||
2286,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user