Mercurial > vim
diff src/drawscreen.c @ 27641:1bdb36828dcc v8.2.4346
patch 8.2.4346: a custom statusline may cause Esc to work like Enter
Commit: https://github.com/vim/vim/commit/481acb11413a436653e235d2098990b2ad47d195
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Feb 11 18:51:45 2022 +0000
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)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 11 Feb 2022 20:00:03 +0100 |
parents | 4eb2bf8b2f27 |
children | 9c96612730a0 |
line wrap: on
line diff
--- 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