summaryrefslogtreecommitdiff
path: root/src/ex_getln.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ex_getln.c')
-rw-r--r--src/ex_getln.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 3c40ff79a..918031914 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -2369,9 +2369,16 @@ getexmodeline(
if (ga_grow(&line_ga, 40) == FAIL)
break;
- /* Get one character at a time. */
+ /*
+ * Get one character at a time.
+ */
prev_char = c1;
- c1 = vgetc();
+
+ /* Check for a ":normal" command and no more characters left. */
+ if (ex_normal_busy > 0 && typebuf.tb_len == 0)
+ c1 = '\n';
+ else
+ c1 = vgetc();
/*
* Handle line editing.