aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/getchar.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-08-21 19:37:11 +0800
committerGitHub <noreply@github.com>2022-08-21 19:37:11 +0800
commit5928d5c2f11754e1d2cc383a1568c3664a38207d (patch)
treef694d28f15c81f469413d6c42766ef8a316625b9 /src/nvim/getchar.c
parent6b9852cc4188d9ca7bce8e7592dcfca38539c743 (diff)
downloadrneovim-5928d5c2f11754e1d2cc383a1568c3664a38207d.tar.gz
rneovim-5928d5c2f11754e1d2cc383a1568c3664a38207d.tar.bz2
rneovim-5928d5c2f11754e1d2cc383a1568c3664a38207d.zip
vim-patch:9.0.0234: cannot make difference between :normal end and argument char (#19879)
Problem: Cannot make difference between the end of :normal and a character in its argument. Solution: Add the "typebuf_was_empty" flag. (closes vim/vim#10950) https://github.com/vim/vim/commit/8d69637133e17370491b83da8657a15b991c2f76
Diffstat (limited to 'src/nvim/getchar.c')
-rw-r--r--src/nvim/getchar.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c
index add650a430..0f55158733 100644
--- a/src/nvim/getchar.c
+++ b/src/nvim/getchar.c
@@ -2400,7 +2400,8 @@ static int vgetorpeek(bool advance)
vgetc_busy++;
if (advance) {
- KeyStuffed = FALSE;
+ KeyStuffed = false;
+ typebuf_was_empty = false;
}
init_typebuf();
@@ -2626,6 +2627,11 @@ static int vgetorpeek(bool advance)
}
tc = c;
+ // set a flag to indicate this wasn't a normal char
+ if (advance) {
+ typebuf_was_empty = true;
+ }
+
// return 0 in normal_check()
if (pending_exmode_active) {
exmode_active = true;