From 5928d5c2f11754e1d2cc383a1568c3664a38207d Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sun, 21 Aug 2022 19:37:11 +0800 Subject: 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 --- src/nvim/normal.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/nvim/normal.c') 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; } -- cgit