aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/funcs.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2021-03-08 17:55:59 +0100
committerGitHub <noreply@github.com>2021-03-08 17:55:59 +0100
commit7c204af87aa74120a70db14b87c5e7c7096ae478 (patch)
tree60857ad16af1a036af89ab7c125dc250f9423f54 /src/nvim/eval/funcs.c
parentc12ea02e0b5d465e2c4b7d8bba028d069bdf7008 (diff)
parentf901149de4bc69f7aa4abe00dea13bca99b9c765 (diff)
downloadrneovim-7c204af87aa74120a70db14b87c5e7c7096ae478.tar.gz
rneovim-7c204af87aa74120a70db14b87c5e7c7096ae478.tar.bz2
rneovim-7c204af87aa74120a70db14b87c5e7c7096ae478.zip
Merge pull request #13686 from bfredl/fastevent
state: throttle batched event processing when input is available
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r--src/nvim/eval/funcs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index 8c8e0d568b..60229e1ebc 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -3029,10 +3029,11 @@ static void f_getchar(typval_T *argvars, typval_T *rettv, FunPtr fptr)
if (argvars[0].v_type == VAR_UNKNOWN) {
// getchar(): blocking wait.
+ // TODO(bfredl): deduplicate shared logic with state_enter ?
if (!(char_avail() || using_script() || input_available())) {
(void)os_inchar(NULL, 0, -1, 0, main_loop.events);
if (!multiqueue_empty(main_loop.events)) {
- multiqueue_process_events(main_loop.events);
+ state_handle_k_event();
continue;
}
}