]> git.eshelyaron.com Git - emacs.git/commitdiff
Call modification hooks in org-src fontify buffers
authorNoam Postavsky <npostavs@gmail.com>
Sat, 7 Jan 2017 21:05:19 +0000 (16:05 -0500)
committerNoam Postavsky <npostavs@gmail.com>
Sun, 29 Jan 2017 16:01:32 +0000 (11:01 -0500)
* lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
`inhibit-modification-hooks' to nil, since this function can be called
from jit-lock-function which binds that variable to t (Bug#25132).

lisp/org/org-src.el

index d01f1082f9f7304ff1cfc9cf115842d73d81b1a8..a02402cf60ef20163b7d83ddb94f76dd418deb20 100644 (file)
@@ -913,16 +913,20 @@ fontification of code blocks see `org-src-fontify-block' and
          (with-current-buffer
              (get-buffer-create
               (concat " org-src-fontification:" (symbol-name lang-mode)))
-           (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)))
+            ;; Make sure that modification hooks are not inhibited in
+            ;; the org-src-fontification buffer in case we're called
+            ;; 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))))
          (add-text-properties
           start end
           '(font-lock-fontified t fontified t font-lock-multiline t))