summaryrefslogtreecommitdiffstats
path: root/src/fileio.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-02-10 18:15:19 +0100
committerBram Moolenaar <Bram@vim.org>2018-02-10 18:15:19 +0100
commit5a093437199001a0d60d8e18e2b9539b99a7757c (patch)
tree4897a21d58c38ac3adc0c3b309381a58f4bbde45 /src/fileio.c
parent9b56a57cdae31f7a2c85d440392bf63d3253a158 (diff)
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menuv8.0.1494
Problem: No autocmd triggered in Insert mode with visible popup menu. Solution: Add TextChangedP. (Prabir Shrestha, Christian Brabandt, closes #2372, closes #1691) Fix that the TextChanged autocommands are not always triggered when sourcing a script.
Diffstat (limited to 'src/fileio.c')
-rw-r--r--src/fileio.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/fileio.c b/src/fileio.c
index ab216abbf6..d4735f344e 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -5037,9 +5037,8 @@ restore_backup:
#ifdef FEAT_AUTOCMD
/* b:changedtick is always incremented in unchanged() but that
* should not trigger a TextChanged event. */
- if (last_changedtick + 1 == CHANGEDTICK(buf)
- && last_changedtick_buf == buf)
- last_changedtick = CHANGEDTICK(buf);
+ if (buf->b_last_changedtick + 1 == CHANGEDTICK(buf))
+ buf->b_last_changedtick = CHANGEDTICK(buf);
#endif
u_unchanged(buf);
u_update_save_nr(buf);
@@ -7851,6 +7850,7 @@ static struct event_name
{"TermResponse", EVENT_TERMRESPONSE},
{"TextChanged", EVENT_TEXTCHANGED},
{"TextChangedI", EVENT_TEXTCHANGEDI},
+ {"TextChangedP", EVENT_TEXTCHANGEDP},
{"User", EVENT_USER},
{"VimEnter", EVENT_VIMENTER},
{"VimLeave", EVENT_VIMLEAVE},
@@ -9377,6 +9377,15 @@ has_textchangedI(void)
}
/*
+ * Return TRUE when there is a TextChangedP autocommand defined.
+ */
+ int
+has_textchangedP(void)
+{
+ return (first_autopat[(int)EVENT_TEXTCHANGEDP] != NULL);
+}
+
+/*
* Return TRUE when there is an InsertCharPre autocommand defined.
*/
int