1
0
forked from aniani/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().
This commit is contained in:
Bram Moolenaar
2019-09-18 21:15:31 +02:00
parent 7a9bd7c1e0
commit d103ee7843
5 changed files with 51 additions and 17 deletions

View File

@@ -9060,7 +9060,8 @@ state([{what}]) *state()*
added. E.g, this checks if the screen has scrolled: >
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
@@ -9068,7 +9069,9 @@ state([{what}]) *state()*
x executing an autocommand
w blocked on waiting, e.g. ch_evalexpr() and
ch_read(), ch_readraw() when reading json.
c callback invoked (repeats for recursiveness up to "ccc")
S not triggering SafeState or SafeStateAgain
c callback invoked, including timer (repeats for
recursiveness up to "ccc")
s screen has scrolled for messages
str2float({expr}) *str2float()*