aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/channel.c
diff options
context:
space:
mode:
author林千里 <lincheney@gmail.com>2018-06-06 14:36:19 +1000
committerJustin M. Keyes <justinkz@gmail.com>2018-06-08 02:18:27 +0200
commit451c48a0926540fe42a307d222c733210551b1d0 (patch)
tree5dd7f587cb17bcda8647b792aea44c87caedc608 /src/nvim/channel.c
parentdb68d1d638e4986f7557877ea511e11990b5f4a3 (diff)
downloadrneovim-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.c1
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);