aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/funcs.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-06-26 15:20:44 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-08-15 17:58:35 +0800
commitb47f3131515df91a4438adbc1ed2756a1fc453d7 (patch)
tree8d4e1fd0d407509f84c346ba1b4a972e7fdb71a4 /src/nvim/eval/funcs.c
parent95b8e2c55f7d119497ec4008e564b2520c6d5e9b (diff)
downloadrneovim-b47f3131515df91a4438adbc1ed2756a1fc453d7.tar.gz
rneovim-b47f3131515df91a4438adbc1ed2756a1fc453d7.tar.bz2
rneovim-b47f3131515df91a4438adbc1ed2756a1fc453d7.zip
fix(getchar): flush screen before doing a blocking wait
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r--src/nvim/eval/funcs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index 609d2f0f7b..dafc27c4df 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -2722,6 +2722,8 @@ static void getchar_common(typval_T *argvars, typval_T *rettv)
// getchar(): blocking wait.
// TODO(bfredl): deduplicate shared logic with state_enter ?
if (!char_avail()) {
+ // flush output before waiting
+ ui_flush();
(void)os_inchar(NULL, 0, -1, 0, main_loop.events);
if (!multiqueue_empty(main_loop.events)) {
state_handle_k_event();