aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2021-01-04 11:14:07 +0100
committerGitHub <noreply@github.com>2021-01-04 11:14:07 +0100
commit5fcc247c6ec0eaf8a631246b1cde8f55cc287a95 (patch)
tree86e50148c6c5b1e83bf8a10fe547b7b14d6f6d24
parenta1ed941a7881122fda2fd48e71e890ed55e4d08e (diff)
parent4cdc8b1efdc7a67d24c7193ef67839924eb7d5c0 (diff)
downloadrneovim-5fcc247c6ec0eaf8a631246b1cde8f55cc287a95.tar.gz
rneovim-5fcc247c6ec0eaf8a631246b1cde8f55cc287a95.tar.bz2
rneovim-5fcc247c6ec0eaf8a631246b1cde8f55cc287a95.zip
Merge pull request #11906 from bfredl/moreblock
consider "-- more --" state to be blocking
-rw-r--r--src/nvim/os/input.c2
-rw-r--r--test/functional/api/vim_spec.lua6
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()