fix(lua): clear got_int when calling vim.on_key() callback (#18979)

This commit is contained in:
zeertzjq
2022-06-16 18:51:36 +08:00
committed by GitHub
parent 0e8186bdd8
commit 179faa3edd
2 changed files with 20 additions and 0 deletions

View File

@@ -1775,10 +1775,13 @@ void nlua_execute_on_key(int c)
// [ vim, vim._on_key, buf ]
lua_pushlstring(lstate, (const char *)buf, buf_len);
int save_got_int = got_int;
got_int = false; // avoid interrupts when the key typed is Ctrl-C
if (nlua_pcall(lstate, 1, 0)) {
nlua_error(lstate,
_("Error executing vim.on_key Lua callback: %.*s"));
}
got_int |= save_got_int;
// [ vim ]
lua_pop(lstate, 1);