diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-08-21 10:40:07 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-08-21 10:40:07 +0100 |
commit | 8d69637133e17370491b83da8657a15b991c2f76 (patch) | |
tree | 6fc2da44d8f79deccf2616ab2082c2c9de393b5b /src/getchar.c | |
parent | a7704226a26b95b15bf87d3a3a5128e23e4aaa06 (diff) |
patch 9.0.0234: cannot make difference between :normal end and argument charv9.0.0234
Problem: Cannot make difference between the end of :normal and a character
in its argument.
Solution: Add the "typebuf_was_empty" flag. (closes #10950)
Diffstat (limited to 'src/getchar.c')
-rw-r--r-- | src/getchar.c | 7 |
1 files changed, 7 insertions, 0 deletions
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; |