patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Problem: A TextChanged autocmd triggers when it is defined after creating a
buffer.
Solution: Set b_last_changedtick when opening a buffer. (Hirohito Highlight,
closes #2742)
diff --git a/src/buffer.c b/src/buffer.c
index b292150..c7f361a 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -291,6 +291,13 @@
unchanged(curbuf, FALSE);
save_file_ff(curbuf); /* keep this fileformat */
+ /* Set last_changedtick to avoid triggering a TextChanged autocommand right
+ * after it was added. */
+ curbuf->b_last_changedtick = CHANGEDTICK(curbuf);
+#ifdef FEAT_INS_EXPAND
+ curbuf->b_last_changedtick_pum = CHANGEDTICK(curbuf);
+#endif
+
/* require "!" to overwrite the file, because it wasn't read completely */
#ifdef FEAT_EVAL
if (aborting())