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/getchar.c b/src/getchar.c
index c7601ef..4134eb9 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -3056,7 +3056,10 @@
++vgetc_busy;
if (advance)
+ {
KeyStuffed = FALSE;
+ typebuf_was_empty = FALSE;
+ }
init_typebuf();
start_stuff();
@@ -3361,6 +3364,10 @@
#ifdef FEAT_CMDWIN
tc = c;
#endif
+ // set a flag to indicate this wasn't a normal char
+ if (advance)
+ typebuf_was_empty = TRUE;
+
// return from main_loop()
if (pending_exmode_active)
exmode_active = EXMODE_NORMAL;