0
0
mirror of https://github.com/vim/vim.git synced 2025-10-02 05:04:20 -04:00

patch 8.1.1332: cannot flush listeners without redrawing, mix of changes

Problem:    Cannot flush change listeners without also redrawing.  The line
            numbers in the list of changes may become invalid.
Solution:   Add listener_flush().  Invoke listeners before adding a change
            that makes line numbers invalid.
This commit is contained in:
Bram Moolenaar
2019-05-14 21:20:36 +02:00
parent fb222df28d
commit fe1ade0a78
7 changed files with 249 additions and 42 deletions

View File

@@ -565,8 +565,13 @@ update_screen(int type_arg)
}
#ifdef FEAT_EVAL
// Before updating the screen, notify any listeners of changed text.
invoke_listeners();
{
buf_T *buf;
// Before updating the screen, notify any listeners of changed text.
FOR_ALL_BUFFERS(buf)
invoke_listeners(buf);
}
#endif
if (must_redraw)