patch 9.0.0234: cannot make difference between :normal end and argument char
Problem: Cannot make difference between the end of :normal and a character
in its argument.
Solution: Add the "typebuf_was_empty" flag. (closes #10950)
diff --git a/src/normal.c b/src/normal.c
index b1335a0..0ce0d4e 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -6808,11 +6808,11 @@
#endif
}
#ifdef FEAT_CMDWIN
- else if (cmdwin_type != 0 && ex_normal_busy)
+ else if (cmdwin_type != 0 && ex_normal_busy && typebuf_was_empty)
{
// When :normal runs out of characters while in the command line window
- // vgetorpeek() will return ESC. Exit the cmdline window to break the
- // loop.
+ // vgetorpeek() will repeatedly return ESC. Exit the cmdline window to
+ // break the loop.
cmdwin_result = K_IGNORE;
return;
}