From 8d69637133e17370491b83da8657a15b991c2f76 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 21 Aug 2022 10:40:07 +0100 Subject: 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) --- src/getchar.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/getchar.c') diff --git a/src/getchar.c b/src/getchar.c index c7601ef615..4134eb9a99 100644 --- a/src/getchar.c +++ b/src/getchar.c @@ -3056,7 +3056,10 @@ vgetorpeek(int advance) ++vgetc_busy; if (advance) + { KeyStuffed = FALSE; + typebuf_was_empty = FALSE; + } init_typebuf(); start_stuff(); @@ -3361,6 +3364,10 @@ vgetorpeek(int advance) #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; -- cgit v1.2.3