diff options
author | oni-link <knil.ino@gmail.com> | 2015-08-11 13:40:07 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2015-08-11 09:36:06 -0400 |
commit | c6af09c5663f31a43bbf02f16089437fe41574f7 (patch) | |
tree | 806945c59fb2135270147426a3ebf63d47b0609a /test/functional/helpers.lua | |
parent | 7d9472ab1b7dc4eb2bb838fb8febcc7a1aab649d (diff) | |
download | rneovim-c6af09c5663f31a43bbf02f16089437fe41574f7.tar.gz rneovim-c6af09c5663f31a43bbf02f16089437fe41574f7.tar.bz2 rneovim-c6af09c5663f31a43bbf02f16089437fe41574f7.zip |
shell.c: A full RBuffer with no NL can freeze shell output. #3156
out_data_cb() can return without emptying the full RBuffer (no NL was
seen). Because the shell output stream is stopped until space in the
Rbuffer is freed up, no more shell output is written.
To prevent this, output the full RBuffer when write_output() did not
write anything.
write_output() can also process the same RBuffer content more than once,
if no NL was seen. To prevent NUL bytes from producing new lines (if
lines are not written to a buffer), translate NUL to SOH(1).
Fixes #2983
Diffstat (limited to 'test/functional/helpers.lua')
0 files changed, 0 insertions, 0 deletions