aboutsummaryrefslogtreecommitdiff
path: root/src/ex_getln.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ex_getln.c')
-rw-r--r--src/ex_getln.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 498d53904c..51c596e1ce 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -56,6 +56,7 @@
#include "window.h"
#include "ui.h"
#include "os/os.h"
+#include "os/event.h"
/*
* Variables shared between getcmdline(), redrawcmdline() and others.
@@ -788,6 +789,11 @@ getcmdline (
* Big switch for a typed command line character.
*/
switch (c) {
+ case K_EVENT:
+ event_process();
+ // Force a redraw even though the command line didn't change
+ shell_resized();
+ goto cmdline_not_changed;
case K_BS:
case Ctrl_H:
case K_DEL:
@@ -1904,9 +1910,12 @@ redraw:
continue;
}
- /* Ignore special key codes: mouse movement, K_IGNORE, etc. */
- if (IS_SPECIAL(c1))
+ if (IS_SPECIAL(c1)) {
+ // Process pending events
+ event_process();
+ // Ignore other special key codes
continue;
+ }
}
if (IS_SPECIAL(c1))