diff options
author | 林千里 <lincheney@gmail.com> | 2018-06-06 14:36:19 +1000 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2018-06-08 02:18:27 +0200 |
commit | 451c48a0926540fe42a307d222c733210551b1d0 (patch) | |
tree | 5dd7f587cb17bcda8647b792aea44c87caedc608 /src/nvim/channel.c | |
parent | db68d1d638e4986f7557877ea511e11990b5f4a3 (diff) | |
download | rneovim-451c48a0926540fe42a307d222c733210551b1d0.tar.gz rneovim-451c48a0926540fe42a307d222c733210551b1d0.tar.bz2 rneovim-451c48a0926540fe42a307d222c733210551b1d0.zip |
terminal: flush vterm output buffer on pty output #8486
Fixes #4151
libvterm uses an "output buffer" for terminal reporting
(e.g. \e[6n to report cursor position)
Flush it in on_channel_output() not just terminal_send_key()
See also this line from pangoterm:
https://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/607/pangoterm.c#L2159
Diffstat (limited to 'src/nvim/channel.c')
-rw-r--r-- | src/nvim/channel.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/nvim/channel.c b/src/nvim/channel.c index 64d743891b..6ad64bbb85 100644 --- a/src/nvim/channel.c +++ b/src/nvim/channel.c @@ -602,6 +602,7 @@ static void on_channel_output(Stream *stream, Channel *chan, RBuffer *buf, // process_channel_event will modify the read buffer(convert NULs into NLs) if (chan->term) { terminal_receive(chan->term, ptr, count); + terminal_flush_output(chan->term); } rbuffer_consumed(buf, count); |