Merge remote-tracking branch 'vim/master'

This commit is contained in:
Kazuki Sakamoto
2016-06-27 20:49:19 -07:00
3 changed files with 27 additions and 3 deletions
+3 -3
View File
@@ -1338,7 +1338,7 @@ write_buf_line(buf_T *buf, linenr_T lnum, channel_T *channel)
/* Need to make a copy to be able to append a NL. */
if ((p = alloc(len + 2)) == NULL)
return;
STRCPY(p, line);
memcpy((char *)p, (char *)line, len);
p[len] = NL;
p[len + 1] = NUL;
channel_send(channel, PART_IN, p, "write_buf_line()");
@@ -1637,7 +1637,7 @@ channel_get_all(channel_T *channel, int part)
{
readq_T *head = &channel->ch_part[part].ch_head;
readq_T *node = head->rq_next;
long_u len = 1;
long_u len = 0;
char_u *res;
char_u *p;
@@ -1648,7 +1648,7 @@ channel_get_all(channel_T *channel, int part)
/* Concatenate everything into one buffer. */
for (node = head->rq_next; node != NULL; node = node->rq_next)
len += node->rq_buflen;
res = lalloc(len, TRUE);
res = lalloc(len + 1, TRUE);
if (res == NULL)
return NULL;
p = res;
+22
View File
@@ -1018,6 +1018,28 @@ func Test_pipe_null()
call job_stop(job)
endfunc
func Test_pipe_to_buffer_raw()
if !has('job')
return
endif
call ch_log('Test_raw_pipe_to_buffer()')
let options = {'out_mode': 'raw', 'out_io': 'buffer', 'out_name': 'testout'}
split testout
let job = job_start([s:python, '-c',
\ 'import sys; [sys.stdout.write(".") and sys.stdout.flush() for _ in range(10000)]'], options)
call assert_equal("run", job_status(job))
call s:waitFor('len(join(getline(2,line("$")),"") >= 10000')
try
for line in getline(2, '$')
let line = substitute(line, '^\.*', '', '')
call assert_equal('', line)
endfor
finally
call job_stop(job)
bwipe!
endtry
endfunc
func Test_reuse_channel()
if !has('job')
return
+2
View File
@@ -768,6 +768,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1965,
/**/
1964,
/**/