aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/edit.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-05-19 11:48:37 +0200
committerJustin M. Keyes <justinkz@gmail.com>2018-05-19 11:48:37 +0200
commitfb28b0c734c259b0964615ea2ddeb4aabeb23fe8 (patch)
tree2f4a9a7217955b5dd37632bb4fb6e31b1bda2afb /src/nvim/edit.c
parenta82ac8accb0dba4c13b670c69f0024c94c59cdd4 (diff)
parentd995825c6627dd99213aeeecef56663d4655f701 (diff)
downloadrneovim-fb28b0c734c259b0964615ea2ddeb4aabeb23fe8.tar.gz
rneovim-fb28b0c734c259b0964615ea2ddeb4aabeb23fe8.tar.bz2
rneovim-fb28b0c734c259b0964615ea2ddeb4aabeb23fe8.zip
Merge #8377 'TextChangedP autocommand'
Diffstat (limited to 'src/nvim/edit.c')
-rw-r--r--src/nvim/edit.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index a1987cf2d5..462762aea0 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -1387,13 +1387,20 @@ ins_redraw (
// Trigger TextChangedI if b_changedtick differs.
if (ready && has_event(EVENT_TEXTCHANGEDI)
- && last_changedtick != curbuf->b_changedtick
+ && curbuf->b_last_changedtick != curbuf->b_changedtick
&& !pum_visible()) {
- if (last_changedtick_buf == curbuf) {
- apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, false, curbuf);
- }
- last_changedtick_buf = curbuf;
- last_changedtick = curbuf->b_changedtick;
+ apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, false, curbuf);
+ curbuf->b_last_changedtick = curbuf->b_changedtick;
+ }
+
+ // Trigger TextChangedP if b_changedtick differs. When the popupmenu closes
+ // TextChangedI will need to trigger for backwards compatibility, thus use
+ // different b_last_changedtick* variables.
+ if (ready && has_event(EVENT_TEXTCHANGEDP)
+ && curbuf->b_last_changedtick_pum != curbuf->b_changedtick
+ && pum_visible()) {
+ apply_autocmds(EVENT_TEXTCHANGEDP, NULL, NULL, false, curbuf);
+ curbuf->b_last_changedtick_pum = curbuf->b_changedtick;
}
if (must_redraw)