aboutsummaryrefslogtreecommitdiff
path: root/src/nvim
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim')
-rw-r--r--src/nvim/state.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/nvim/state.c b/src/nvim/state.c
index 900eac0826..73229efb05 100644
--- a/src/nvim/state.c
+++ b/src/nvim/state.c
@@ -29,6 +29,8 @@
# include "state.c.generated.h" // IWYU pragma: export
#endif
+size_t hack_keyfix = 0;
+
void state_enter(VimState *s)
{
while (true) {
@@ -81,6 +83,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.