From 86244d84f8846489b893039749d724287c2c5dcd Mon Sep 17 00:00:00 2001 From: Rasmus Date: Fri, 3 Jun 2016 15:31:58 +0200 Subject: [PATCH] org-src: src-blocks also inherit org-block face * lisp/org-src.el (org-src-font-lock-fontify-block): Inherit org-block face. --- lisp/org-src.el | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/lisp/org-src.el b/lisp/org-src.el index f3a0960..9668096 100644 --- a/lisp/org-src.el +++ b/lisp/org-src.el @@ -494,21 +494,27 @@ as `org-src-fontify-natively' is non-nil." (when (fboundp lang-mode) (let ((string (buffer-substring-no-properties start end)) (modified (buffer-modified-p)) - (org-buffer (current-buffer)) pos next) + (org-buffer (current-buffer))) (remove-text-properties start end '(face nil)) (with-current-buffer (get-buffer-create - (concat " org-src-fontification:" (symbol-name lang-mode))) - (delete-region (point-min) (point-max)) + (format " *org-src-fontification:%s*" lang-mode)) + (erase-buffer) (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))) + (let ((pos (point-min)) next) + (while (setq next (next-single-property-change pos 'face)) + (let ((new-face (get-text-property pos 'face))) + (put-text-property + (+ start (1- pos)) (1- (+ start next)) 'face + (list :inherit (append (and new-face (list new-face)) + (list 'org-block))) + org-buffer)) + (setq pos next)) + ;; Add the face to the remaining part of the font. + (put-text-property (1- (+ start pos)) end 'face + '(:inherit org-block) org-buffer))) (add-text-properties start end '(font-lock-fontified t fontified t font-lock-multiline t)) -- 2.8.3