aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/state.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-04-07 14:27:47 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-04-07 21:42:11 +0800
commit64802da6c4304a2700d9471d17c0aae143d9aab1 (patch)
treedde71e2d365e1d1eb49453eaf83fd3e03efc2619 /src/nvim/state.c
parent2a574f7aaaf5cd0803faa9e4337bf3e21e8b8d2a (diff)
downloadrneovim-64802da6c4304a2700d9471d17c0aae143d9aab1.tar.gz
rneovim-64802da6c4304a2700d9471d17c0aae143d9aab1.tar.bz2
rneovim-64802da6c4304a2700d9471d17c0aae143d9aab1.zip
fix(event-loop): check if executed register has ended
Diffstat (limited to 'src/nvim/state.c')
-rw-r--r--src/nvim/state.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nvim/state.c b/src/nvim/state.c
index 3a7636085b..34e3ddf654 100644
--- a/src/nvim/state.c
+++ b/src/nvim/state.c
@@ -40,7 +40,7 @@ void state_enter(VimState *s)
int key;
getkey:
- // Expand mappings first by calling vpeekc() directly.
+ // Apply mappings first by calling vpeekc() directly.
// - If vpeekc() returns non-NUL, there is a character already available for processing, so
// don't block for events. vgetc() may still block, in case of an incomplete UTF-8 sequence.
// - If vpeekc() returns NUL, vgetc() will block, and there are three cases:
@@ -76,6 +76,9 @@ getkey:
}
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.
+ check_end_reg_executing(true);
may_sync_undo();
}