mirror of
https://github.com/vim/vim.git
synced 2025-10-02 05:04:20 -04:00
patch 7.4.1902
Problem: No test for collapsing buffers for a channel. Some text is lost. Solution: Add a simple test. Set rq_buflen correctly.
This commit is contained in:
@@ -1657,6 +1657,7 @@ channel_collapse(channel_T *channel, int part, int want_nl)
|
||||
p += n->rq_buflen;
|
||||
vim_free(n->rq_buffer);
|
||||
}
|
||||
node->rq_buflen = (long_u)(p - newbuf);
|
||||
|
||||
/* dispose of the collapsed nodes and their buffers */
|
||||
for (n = node->rq_next; n != last_node; )
|
||||
|
@@ -538,6 +538,9 @@ func Test_nl_pipe()
|
||||
call assert_equal("this", ch_readraw(handle))
|
||||
call assert_equal("AND this", ch_readraw(handle))
|
||||
|
||||
call ch_sendraw(handle, "split this line\n")
|
||||
call assert_equal("this linethis linethis line", ch_readraw(handle))
|
||||
|
||||
let reply = ch_evalraw(handle, "quit\n")
|
||||
call assert_equal("Goodbye!", reply)
|
||||
finally
|
||||
|
@@ -6,6 +6,7 @@
|
||||
|
||||
from __future__ import print_function
|
||||
import sys
|
||||
import time
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -31,6 +32,15 @@ if __name__ == "__main__":
|
||||
if typed.startswith("double "):
|
||||
print(typed[7:-1] + "\nAND " + typed[7:-1])
|
||||
sys.stdout.flush()
|
||||
if typed.startswith("split "):
|
||||
print(typed[6:-1], end='')
|
||||
sys.stdout.flush()
|
||||
time.sleep(0.05)
|
||||
print(typed[6:-1], end='')
|
||||
sys.stdout.flush()
|
||||
time.sleep(0.05)
|
||||
print(typed[6:-1])
|
||||
sys.stdout.flush()
|
||||
if typed.startswith("echoerr "):
|
||||
print(typed[8:-1], file=sys.stderr)
|
||||
sys.stderr.flush()
|
||||
|
@@ -753,6 +753,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1902,
|
||||
/**/
|
||||
1901,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user