vim-patch:8.1.2053: SafeStateAgain not triggered if callback uses feedkeys()

Problem:    SafeStateAgain not triggered if callback uses feedkeys().
Solution:   Check for safe state in the input loop.  Make log messages easier
            to find. Add 'S' flag to state().

d103ee7843

Include misc1.c change from patch 8.1.2062.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
zeertzjq
2023-08-21 12:16:33 +08:00
parent a0b912c6ec
commit 7ce2acd59b
7 changed files with 41 additions and 18 deletions

View File

@@ -885,7 +885,7 @@ int ins_typebuf(char *str, int noremap, int offset, bool nottyped, bool silent)
if (++typebuf.tb_change_cnt == 0) {
typebuf.tb_change_cnt = 1;
}
state_no_longer_safe();
state_no_longer_safe("ins_typebuf()");
addlen = (int)strlen(str);
@@ -1629,7 +1629,7 @@ int vgetc(void)
// Need to process the character before we know it's safe to do something
// else.
if (c != K_IGNORE) {
state_no_longer_safe();
state_no_longer_safe("key typed");
}
return c;