summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0067
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0067')
-rw-r--r--data/vim/patches/8.1.006795
1 files changed, 95 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0067 b/data/vim/patches/8.1.0067
new file mode 100644
index 000000000..3a183214a
--- /dev/null
+++ b/data/vim/patches/8.1.0067
@@ -0,0 +1,95 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0067
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.0067
+Problem: Syntax highlighting not working when re-entering a buffer.
+Solution: Do force executing autocommands when not called recursively.
+Files: src/option.c
+
+
+*** ../vim-8.1.0066/src/option.c 2018-06-17 17:32:55.088218019 +0200
+--- src/option.c 2018-06-17 19:01:55.382567829 +0200
+***************
+*** 7567,7590 ****
+ /* When 'syntax' is set, load the syntax of that name */
+ if (varp == &(curbuf->b_p_syn))
+ {
+! // Only pass TRUE for "force" when the value changed, to avoid
+! // endless recurrence. */
+! apply_autocmds(EVENT_SYNTAX, curbuf->b_p_syn,
+! curbuf->b_fname, value_changed, curbuf);
+ }
+ #endif
+ else if (varp == &(curbuf->b_p_ft))
+ {
+ /* 'filetype' is set, trigger the FileType autocommand.
+ * Skip this when called from a modeline and the filetype was
+! * already set to this value.
+! * Only pass TRUE for "force" when the value changed, to avoid
+! * endless recurrence. */
+ if (!(opt_flags & OPT_MODELINE) || value_changed)
+ {
+ did_filetype = TRUE;
+! apply_autocmds(EVENT_FILETYPE, curbuf->b_p_ft,
+! curbuf->b_fname, value_changed, curbuf);
+ /* Just in case the old "curbuf" is now invalid. */
+ if (varp != &(curbuf->b_p_ft))
+ varp = NULL;
+--- 7567,7598 ----
+ /* When 'syntax' is set, load the syntax of that name */
+ if (varp == &(curbuf->b_p_syn))
+ {
+! static int syn_recursive = 0;
+!
+! ++syn_recursive;
+! // Only pass TRUE for "force" when the value changed or not used
+! // recursively, to avoid endless recurrence.
+! apply_autocmds(EVENT_SYNTAX, curbuf->b_p_syn, curbuf->b_fname,
+! value_changed || syn_recursive == 1, curbuf);
+! --syn_recursive;
+ }
+ #endif
+ else if (varp == &(curbuf->b_p_ft))
+ {
+ /* 'filetype' is set, trigger the FileType autocommand.
+ * Skip this when called from a modeline and the filetype was
+! * already set to this value. */
+ if (!(opt_flags & OPT_MODELINE) || value_changed)
+ {
++ static int ft_recursive = 0;
++
++ ++ft_recursive;
+ did_filetype = TRUE;
+! // Only pass TRUE for "force" when the value changed or not
+! // used recursively, to avoid endless recurrence.
+! apply_autocmds(EVENT_FILETYPE, curbuf->b_p_ft, curbuf->b_fname,
+! value_changed || ft_recursive == 1, curbuf);
+! --ft_recursive;
+ /* Just in case the old "curbuf" is now invalid. */
+ if (varp != &(curbuf->b_p_ft))
+ varp = NULL;
+*** ../vim-8.1.0066/src/version.c 2018-06-17 17:32:55.088218019 +0200
+--- src/version.c 2018-06-17 19:07:00.000819142 +0200
+***************
+*** 763,764 ****
+--- 763,766 ----
+ { /* Add new patch number below this line */
++ /**/
++ 67,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+62. If your doorbell rings, you think that new mail has arrived. And then
+ you're disappointed that it's only someone at the door.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///