From 7ce2acd59be89e5e6d2ac778ad074a9ae42951cd Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 21 Aug 2023 12:16:33 +0800 Subject: 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 --- runtime/lua/vim/_meta/vimfn.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'runtime/lua/vim') diff --git a/runtime/lua/vim/_meta/vimfn.lua b/runtime/lua/vim/_meta/vimfn.lua index 4665f71052..70d1aa4a79 100644 --- a/runtime/lua/vim/_meta/vimfn.lua +++ b/runtime/lua/vim/_meta/vimfn.lua @@ -8760,13 +8760,16 @@ function vim.fn.srand(expr) end --- added. E.g, this checks if the screen has scrolled: >vim --- if state('s') != '' --- ---- These characters indicate the state: +--- These characters indicate the state, generally indicating that +--- something is busy: --- m halfway a mapping, :normal command, feedkeys() or --- stuffed command --- o operator pending or waiting for a command argument --- a Insert mode autocomplete active --- x executing an autocommand ---- c callback invoked (repeats for recursiveness up to "ccc") +--- S not triggering SafeState +--- c callback invoked, including timer (repeats for +--- recursiveness up to "ccc") --- s screen has scrolled for messages --- --- @param what? string -- cgit