From 481acb11413a436653e235d2098990b2ad47d195 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 11 Feb 2022 18:51:45 +0000 Subject: patch 8.2.4346: a custom statusline may cause Esc to work like Enter Problem: A custom statusline may cause Esc to work like Enter on the command line when the popup menu is displayed. Solution: Save and restore KeyTyped. (closes #9749) --- src/drawscreen.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/drawscreen.c') diff --git a/src/drawscreen.c b/src/drawscreen.c index 6cae313fa0..69f44a9f93 100644 --- a/src/drawscreen.c +++ b/src/drawscreen.c @@ -571,6 +571,7 @@ redraw_custom_statusline(win_T *wp) { static int entered = FALSE; int saved_did_emsg = did_emsg; + int saved_KeyTyped = KeyTyped; // When called recursively return. This can happen when the statusline // contains an expression that triggers a redraw. @@ -591,6 +592,9 @@ redraw_custom_statusline(win_T *wp) } did_emsg |= saved_did_emsg; entered = FALSE; + + // A user function may reset KeyTyped, restore it. + KeyTyped = saved_KeyTyped; } #endif -- cgit v1.2.3