From a783cdd68d4f2d282725ea60e869ddf639930dc3 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sun, 3 Apr 2022 08:58:49 +0800 Subject: fix(ex_normal): spam \n in Ex mode only if in Cmdline mode (#17977) When using :normal in Ex mode, the editor is no longer in Cmdline mode, but the exmode_active flag is still set, causing the wrong character to be spammed in Insert mode, leading to a hang. --- src/nvim/getchar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c index b12b99b7ee..c944a5ec93 100644 --- a/src/nvim/getchar.c +++ b/src/nvim/getchar.c @@ -2330,7 +2330,7 @@ static int vgetorpeek(bool advance) // cmdline window. if (p_im && (State & INSERT)) { c = Ctrl_L; - } else if (exmode_active) { + } else if ((State & CMDLINE) && exmode_active) { c = '\n'; } else if ((State & CMDLINE) || (cmdwin_type > 0 && tc == ESC)) { c = Ctrl_C; -- cgit