aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/normal.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/normal.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/normal.c')
-rw-r--r--src/nvim/normal.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c
index 1d8a786c9f..2c7dadad0b 100644
--- a/src/nvim/normal.c
+++ b/src/nvim/normal.c
@@ -6943,10 +6943,10 @@ static void nv_esc(cmdarg_T *cap)
got_int = false; // don't stop executing autocommands et al.
return;
}
- } 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;
}