1
0
forked from aniani/vim

patch 8.1.2046: SafeState may be triggered at the wrong moment

Problem:    SafeState may be triggered at the wrong moment.
Solution:   Move it up higher to after where messages are processed.  Add a
            SafeStateAgain event to tigger there.
This commit is contained in:
Bram Moolenaar
2019-09-16 21:58:13 +02:00
parent dac1347b4d
commit 69198cb8c0
8 changed files with 40 additions and 18 deletions

View File

@@ -3593,10 +3593,6 @@ channel_read_json_block(
ch_log(channel, "Blocking read JSON for id %d", id);
// Not considered a safe state here, since we are processing a JSON message
// and parsing other messages while waiting.
enter_unsafe_state();
if (id >= 0)
channel_add_block_id(chanpart, id);
@@ -3666,9 +3662,6 @@ channel_read_json_block(
if (id >= 0)
channel_remove_block_id(chanpart, id);
// This may trigger a SafeState autocommand.
leave_unsafe_state();
return retval;
}