diff options
-rw-r--r-- | src/nvim/state.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/nvim/state.c b/src/nvim/state.c index 199003b61c..d6a037ffd6 100644 --- a/src/nvim/state.c +++ b/src/nvim/state.c @@ -29,6 +29,8 @@ # include "state.c.generated.h" #endif +size_t hack_keyfix = 0; + void state_enter(VimState *s) FUNC_ATTR_NONNULL_ALL { @@ -82,6 +84,18 @@ getkey: } } + // Hacky "fix" for https://github.com/neovim/neovim/issues/20726 + if (key == 3) { + hack_keyfix ++; + if (hack_keyfix == 100) { + got_int = 0; + hack_keyfix = 0; + goto getkey; + } + } else { + hack_keyfix = 0; + } + if (key == K_EVENT) { // An event handler may use the value of reg_executing. // Clear it if it should be cleared when getting the next character. |