aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/funcs.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-08-21 12:16:33 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-08-21 14:16:16 +0800
commit7ce2acd59be89e5e6d2ac778ad074a9ae42951cd (patch)
tree3e1c882297afabac76ed2de1a22b68e174d52556 /src/nvim/eval/funcs.c
parenta0b912c6ecd4bbbcf3ebdf7c1d4e60acaa7019cb (diff)
downloadrneovim-7ce2acd59be89e5e6d2ac778ad074a9ae42951cd.tar.gz
rneovim-7ce2acd59be89e5e6d2ac778ad074a9ae42951cd.tar.bz2
rneovim-7ce2acd59be89e5e6d2ac778ad074a9ae42951cd.zip
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(). https://github.com/vim/vim/commit/d103ee78432f9036d243b18dd5aac1263d3b7dc9 Include misc1.c change from patch 8.1.2062. Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r--src/nvim/eval/funcs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index c47fd4cfcb..8c07623369 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -4955,6 +4955,9 @@ static void f_state(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
if (!ctrl_x_mode_none()) {
may_add_state_char(&ga, include, 'a');
}
+ if (!get_was_safe_state()) {
+ may_add_state_char(&ga, include, 'S');
+ }
for (int i = 0; i < get_callback_depth() && i < 3; i++) {
may_add_state_char(&ga, include, 'c');
}