diff options
author | Noam Postavsky <npostavs@gmail.com> | 2017-01-07 16:05:19 -0500 |
---|---|---|
committer | Noam Postavsky <npostavs@gmail.com> | 2017-01-29 11:01:32 -0500 |
commit | ae8264c5cccf19d5b25a340a605bf2f07de1577e (patch) | |
tree | 03dc5ed1c5cf1d71e2caca2f5163f11f48963c30 /lisp/org | |
parent | b3139da0778739b88e17aa9d980e6025b811f928 (diff) | |
download | emacs-ae8264c5cccf19d5b25a340a605bf2f07de1577e.tar.gz emacs-ae8264c5cccf19d5b25a340a605bf2f07de1577e.tar.bz2 emacs-ae8264c5cccf19d5b25a340a605bf2f07de1577e.zip |
Call modification hooks in org-src fontify buffers
* 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).
Diffstat (limited to 'lisp/org')
-rw-r--r-- | lisp/org/org-src.el | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/lisp/org/org-src.el b/lisp/org/org-src.el index d01f1082f9f..a02402cf60e 100644 --- a/lisp/org/org-src.el +++ b/lisp/org/org-src.el @@ -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)) |