]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 11 Jan 2018 15:11:39 +0000 (10:11 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 11 Jan 2018 15:11:39 +0000 (10:11 -0500)
lisp/emacs-lisp/syntax.el

index a1b70b18693954ef041439fc885fcfd1fd0345ed..6106720f7a56047ff8f73b7ac0073a0aa81fb25e 100644 (file)
@@ -291,6 +291,14 @@ END) suitable for `syntax-propertize-function'."
       ;; (message "Needs to syntax-propertize from %s to %s"
       ;;          syntax-propertize--done pos)
       (set (make-local-variable 'parse-sexp-lookup-properties) t)
+      (when (< syntax-propertize--done (point-min))
+        ;; *Usually* syntax-propertize is called via syntax-ppss which
+        ;; takes care of adding syntax-ppss-flush-cache to b-c-f, but this
+        ;; is not *always* the case, so since we share a single "flush" function
+        ;; between syntax-ppss and syntax-propertize, we also have to make
+        ;; sure the flush function is installed here (bug#29767).
+        (add-hook 'before-change-functions
+                 #'syntax-ppss-flush-cache t t))
       (save-excursion
         (with-silent-modifications
           (make-local-variable 'syntax-propertize--done) ;Just in case!