diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-05-14 21:20:36 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-05-14 21:20:36 +0200 |
commit | fe1ade0a78a70a4c7ddaebb6964497f037f4997a (patch) | |
tree | 2a19d938a6a5cc48aa729feb4caebd09c8a5a0d1 /src/proto | |
parent | fb222df28d5158516104a21cba7141a6240f4817 (diff) |
patch 8.1.1332: cannot flush listeners without redrawing, mix of changesv8.1.1332
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.
Diffstat (limited to 'src/proto')
-rw-r--r-- | src/proto/change.pro | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/proto/change.pro b/src/proto/change.pro index 4e8a1e64c7..f0f390b05b 100644 --- a/src/proto/change.pro +++ b/src/proto/change.pro @@ -3,8 +3,9 @@ void change_warning(int col); void changed(void); void changed_internal(void); void f_listener_add(typval_T *argvars, typval_T *rettv); +void f_listener_flush(typval_T *argvars, typval_T *rettv); void f_listener_remove(typval_T *argvars, typval_T *rettv); -void invoke_listeners(void); +void invoke_listeners(buf_T *buf); void changed_bytes(linenr_T lnum, colnr_T col); void inserted_bytes(linenr_T lnum, colnr_T col, int added); void appended_lines(linenr_T lnum, long count); |