input: consider "-- more --" state to be blocking, fixes #11899

This commit is contained in:
Björn Linse 2020-02-19 11:00:09 +01:00
parent a1ed941a78
commit 4cdc8b1efd
2 changed files with 7 additions and 1 deletions

View File

@ -393,7 +393,7 @@ static InbufPollResult inbuf_poll(int ms, MultiQueue *events)
prof_inchar_enter(); 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 // The pending input provoked a blocking wait. Do special events now. #6247
blocking = true; blocking = true;
multiqueue_process_events(ch_before_blocking_events); multiqueue_process_events(ch_before_blocking_events);

View File

@ -972,6 +972,12 @@ describe('API', function()
nvim("input", "gu") nvim("input", "gu")
eq({mode='no', blocking=false}, nvim("get_mode")) eq({mode='no', blocking=false}, nvim("get_mode"))
end) 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) end)
describe('RPC (K_EVENT) #6166', function() describe('RPC (K_EVENT) #6166', function()