diff options
Diffstat (limited to 'src/nvim/message.c')
-rw-r--r-- | src/nvim/message.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c index 68a8b8e88b..362dc2c05a 100644 --- a/src/nvim/message.c +++ b/src/nvim/message.c @@ -3395,9 +3395,7 @@ int do_dialog(int type, const char *title, const char *message, const char *butt int retval = 0; int i; - if (silent_mode // No dialogs in silent mode ("ex -s") - || !ui_active() // Without a UI Nvim waits for input forever. - ) { + if (silent_mode) { // No dialogs in silent mode ("ex -s") return dfltbutton; // return default option } @@ -3414,6 +3412,12 @@ int do_dialog(int type, const char *title, const char *message, const char *butt char *hotkeys = msg_show_console_dialog(message, buttons, dfltbutton); while (true) { + // Without a UI Nvim waits for input forever. + if (!ui_active() && !input_available()) { + retval = dfltbutton; + break; + } + // Get a typed character directly from the user. int c = get_keystroke(NULL); switch (c) { |