]> git.eshelyaron.com Git - emacs.git/commitdiff
Narrow scope of modification hook renabling in org-src fontification
authorNoam Postavsky <npostavs@gmail.com>
Tue, 21 Mar 2017 13:03:47 +0000 (09:03 -0400)
committerNoam Postavsky <npostavs@gmail.com>
Tue, 21 Mar 2017 13:19:57 +0000 (09:19 -0400)
Modification hooks should be enabled while modifying text in the
org-src temp buffer, but in 2017-01-29 "Call modification hooks in
org-src fontify buffers" the hooks were enabled also for modifications
to the original org buffer.  This causes fontification errors when
combined with certain packages, as reported in
http://lists.gnu.org/archive/html/emacs-orgmode/2017-03/msg00420.html.

* lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
of inhibit-modification-hooks let-binding.

lisp/org/org-src.el

index a02402cf60ef20163b7d83ddb94f76dd418deb20..16aa443232f41067cfbd2fc062011ab4807b404b 100644 (file)
@@ -918,15 +918,15 @@ fontification of code blocks see `org-src-fontify-block' and
             ;; from `jit-lock-function' (Bug#25132).
             (let ((inhibit-modification-hooks nil))
               (delete-region (point-min) (point-max))
-              (insert string " ") ;; so there's a final property change
-              (unless (eq major-mode lang-mode) (funcall lang-mode))
-              (org-font-lock-ensure)
-              (setq pos (point-min))
-              (while (setq next (next-single-property-change pos 'face))
-                (put-text-property
-                 (+ start (1- pos)) (1- (+ start next)) 'face
-                 (get-text-property pos 'face) org-buffer)
-                (setq pos next))))
+              (insert string " ")) ;; so there's a final property change
+            (unless (eq major-mode lang-mode) (funcall lang-mode))
+            (org-font-lock-ensure)
+            (setq pos (point-min))
+            (while (setq next (next-single-property-change pos 'face))
+              (put-text-property
+               (+ start (1- pos)) (1- (+ start next)) 'face
+               (get-text-property pos 'face) org-buffer)
+              (setq pos next)))
          (add-text-properties
           start end
           '(font-lock-fontified t fontified t font-lock-multiline t))