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);
|
EMSG2(_("E917: Cannot use a callback with %s()"), fun);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
channel_set_req_callback(channel, part_send,
|
channel_set_req_callback(channel, *part_read,
|
||||||
opt->jo_callback, opt->jo_partial, id);
|
opt->jo_callback, opt->jo_partial, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -245,7 +245,6 @@ endfunc
|
|||||||
|
|
||||||
"""""""""
|
"""""""""
|
||||||
|
|
||||||
let g:Ch_reply = ""
|
|
||||||
func Ch_handler(chan, msg)
|
func Ch_handler(chan, msg)
|
||||||
unlet g:Ch_reply
|
unlet g:Ch_reply
|
||||||
let g:Ch_reply = a:msg
|
let g:Ch_reply = a:msg
|
||||||
@ -271,8 +270,10 @@ endfunc
|
|||||||
|
|
||||||
func Test_channel_handler()
|
func Test_channel_handler()
|
||||||
call ch_log('Test_channel_handler()')
|
call ch_log('Test_channel_handler()')
|
||||||
|
let g:Ch_reply = ""
|
||||||
let s:chopt.callback = 'Ch_handler'
|
let s:chopt.callback = 'Ch_handler'
|
||||||
call s:run_server('Ch_channel_handler')
|
call s:run_server('Ch_channel_handler')
|
||||||
|
let g:Ch_reply = ""
|
||||||
let s:chopt.callback = function('Ch_handler')
|
let s:chopt.callback = function('Ch_handler')
|
||||||
call s:run_server('Ch_channel_handler')
|
call s:run_server('Ch_channel_handler')
|
||||||
unlet s:chopt.callback
|
unlet s:chopt.callback
|
||||||
@ -443,6 +444,11 @@ func Test_raw_pipe()
|
|||||||
let msg = ch_readraw(job)
|
let msg = ch_readraw(job)
|
||||||
call assert_equal("this\nAND this\n", substitute(msg, "\r", "", 'g'))
|
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})
|
let reply = ch_evalraw(job, "quit\n", {'timeout': 100})
|
||||||
call assert_equal("Goodbye!\n", substitute(reply, "\r", "", 'g'))
|
call assert_equal("Goodbye!\n", substitute(reply, "\r", "", 'g'))
|
||||||
finally
|
finally
|
||||||
|
@ -763,6 +763,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 */
|
||||||
|
/**/
|
||||||
|
2287,
|
||||||
/**/
|
/**/
|
||||||
2286,
|
2286,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user