To: vim_dev@googlegroups.com Subject: Patch 7.4.1902 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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. Files: src/channel.c, src/testdir/test_channel.vim, src/testdir/test_channel_pipe.py *** ../vim-7.4.1901/src/channel.c 2016-06-04 17:17:07.042146086 +0200 --- src/channel.c 2016-06-05 16:06:58.801015473 +0200 *************** *** 1657,1662 **** --- 1657,1663 ---- 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; ) *** ../vim-7.4.1901/src/testdir/test_channel.vim 2016-06-02 20:07:05.552382799 +0200 --- src/testdir/test_channel.vim 2016-06-05 16:07:18.069015208 +0200 *************** *** 538,543 **** --- 538,546 ---- 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 *** ../vim-7.4.1901/src/testdir/test_channel_pipe.py 2016-04-26 17:16:13.675979102 +0200 --- src/testdir/test_channel_pipe.py 2016-06-05 16:01:21.701020110 +0200 *************** *** 6,11 **** --- 6,12 ---- from __future__ import print_function import sys + import time if __name__ == "__main__": *************** *** 31,36 **** --- 32,46 ---- 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() *** ../vim-7.4.1901/src/version.c 2016-06-04 22:36:14.085882703 +0200 --- src/version.c 2016-06-05 16:08:17.061014396 +0200 *************** *** 755,756 **** --- 755,758 ---- { /* Add new patch number below this line */ + /**/ + 1902, /**/ -- hundred-and-one symptoms of being an internet addict: 51. You put a pillow case over your laptop so your lover doesn't see it while you are pretending to catch your breath. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///