ソースを参照

org.el: Don't set org-hide foreground to "invisible-bg"

* org.el (org-mode): Don't set org-hide's foreground
to "invisible-bg".
(org-find-invisible-foreground): New function.
Max Mikhanosha 12 年 前
コミット
ecdc4d14c8
1 ファイル変更14 行追加8 行削除
  1. 14 8
      lisp/org.el

+ 14 - 8
lisp/org.el

@@ -5129,14 +5129,7 @@ The following commands are available:
     (unless org-inhibit-startup-visibility-stuff
       (org-set-startup-visibility)))
   ;; Try to set org-hide correctly
-  (set-face-foreground
-   'org-hide
-   (or (face-background 'default)
-       (face-background 'org-default)
-       (cdr (assoc 'background-color default-frame-alist))
-       (cdr (assoc 'background-color initial-frame-alist))
-       (cdr (assoc 'background-color window-system-default-frame-alist))
-       (face-foreground 'org-hide))))
+  (set-face-foreground 'org-hide (org-find-invisible-foreground)))
 
 (when (fboundp 'abbrev-table-put)
   (abbrev-table-put org-mode-abbrev-table
@@ -5144,6 +5137,19 @@ The following commands are available:
 
 (put 'org-mode 'flyspell-mode-predicate 'org-mode-flyspell-verify)
 
+
+(defun org-find-invisible-foreground ()
+  (let ((candidates (remove
+		     "unspecified-bg"
+		     (list
+		      (face-background 'default)
+		      (face-background 'org-default)
+		      (cdr (assoc 'background-color default-frame-alist))
+		      (cdr (assoc 'background-color initial-frame-alist))
+		      (cdr (assoc 'background-color window-system-default-frame-alist))
+		      (face-foreground 'org-hide)))))
+    (car (remove nil candidates))))
+
 (defun org-current-time ()
   "Current time, possibly rounded to `org-time-stamp-rounding-minutes'."
   (if (> (car org-time-stamp-rounding-minutes) 1)