diff options
-rw-r--r-- | src/nvim/os/input.c | 2 | ||||
-rw-r--r-- | test/functional/api/vim_spec.lua | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/nvim/os/input.c b/src/nvim/os/input.c index b7878d9da8..9d6518841a 100644 --- a/src/nvim/os/input.c +++ b/src/nvim/os/input.c @@ -393,7 +393,7 @@ static InbufPollResult inbuf_poll(int ms, MultiQueue *events) prof_inchar_enter(); } - if ((ms == - 1 || ms > 0) && events == NULL && !input_eof) { + if ((ms == - 1 || ms > 0) && events != main_loop.events && !input_eof) { // The pending input provoked a blocking wait. Do special events now. #6247 blocking = true; multiqueue_process_events(ch_before_blocking_events); diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua index c42d5c34cc..30128e9c40 100644 --- a/test/functional/api/vim_spec.lua +++ b/test/functional/api/vim_spec.lua @@ -972,6 +972,12 @@ describe('API', function() nvim("input", "gu") eq({mode='no', blocking=false}, nvim("get_mode")) end) + + it("at '-- More --' prompt returns blocking=true #11899", function() + command('set more') + feed(':digraphs<cr>') + eq({mode='rm', blocking=true}, nvim("get_mode")) + end) end) describe('RPC (K_EVENT) #6166', function() |