소스 검색

org-src-font-lock-fontify-block: Do not transfer non-existing properties

* lisp/org-src.el (org-src-font-lock-fontify-block): Never set
font-lock properties when `get-text-property' returns nil.  This
usually means that the property is not present in the position
property list.  The old behavior could, for example, set 'invisible
property to nil explicitly and prevent folding completely.

Fixes https://list.orgmode.org/CA+G3_PN6RvcRcvN2fM=vfK1K6UsT=nNPJ7SUucmA1Ypc=Emorg@mail.gmail.com/T/#u
Ihor Radchenko 3 년 전
부모
커밋
66528468a1
1개의 변경된 파일4개의 추가작업 그리고 3개의 파일을 삭제
  1. 4 3
      lisp/org-src.el

+ 4 - 3
lisp/org-src.el

@@ -643,9 +643,10 @@ as `org-src-fontify-natively' is non-nil."
 	      ;; preserve, e.g., composition.
 	      (dolist (prop (cons 'face font-lock-extra-managed-props))
 		(let ((new-prop (get-text-property pos prop)))
-		  (put-text-property
-		   (+ start (1- pos)) (1- (+ start next)) prop new-prop
-		   org-buffer)))
+                  (when new-prop
+		    (put-text-property
+		     (+ start (1- pos)) (1- (+ start next)) prop new-prop
+		     org-buffer))))
 	      (setq pos next)))
           (set-buffer-modified-p nil))
 	;; Add Org faces.