]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug #16434 with handling the -rv command-line option.
authorMatthias Dahl <ml_emacs-lists@binary-island.eu>
Sat, 5 Apr 2014 07:44:56 +0000 (10:44 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 5 Apr 2014 07:44:56 +0000 (10:44 +0300)
 lisp/faces.el (make-face-x-resource-internal): Do nothing when
 inhibit-x-resources is non-nil.  Don't touch the default face if
 reversed video is given--as was done in previous versions of Emacs.
 (face-set-after-frame-default): Don't call
 make-face-x-resource-internal here.

lisp/ChangeLog
lisp/faces.el

index bb283ab84df034fb4c280f0cf6dc0fe355dda5a1..71f3749a19cc0fd1dd4167fe47e7a97897bb6211 100644 (file)
@@ -7,6 +7,12 @@
        value is returned if no matching attributes are found.
        (face-spec-recalc): Use the new optional argument when calling
        face-spec-choose.  (Bug#16378)
+       (make-face-x-resource-internal): Do nothing when
+       inhibit-x-resources is non-nil.  Don't touch the default face if
+       reversed video is given--as was done in previous versions of
+       Emacs.
+       (face-set-after-frame-default): Don't call
+       make-face-x-resource-internal here.  (Bug#16434)
 
 2014-04-04  Tassilo Horn  <tsdh@gnu.org>
 
index 1255d7c9ff7f5816c9824869d23ec0b6537cc4f0..e4d8a35ac68c691c5e249f0ca7e1d6edc57cba3c 100644 (file)
@@ -334,11 +334,16 @@ specifies an invalid attribute."
 
 (defun make-face-x-resource-internal (face &optional frame)
   "Fill frame-local FACE on FRAME from X resources.
-FRAME nil or not specified means do it for all frames."
-  (if (null frame)
-      (dolist (frame (frame-list))
-       (set-face-attributes-from-resources face frame))
-    (set-face-attributes-from-resources face frame)))
+FRAME nil or not specified means do it for all frames.
+
+If `inhibit-x-resources' is non-nil, this function does nothing."
+  (unless inhibit-x-resources
+    (dolist (frame (if (null frame) (frame-list) (list frame)))
+      ;; `x-create-frame' already took care of correctly handling
+      ;; the reverse video case-- do _not_ touch the default face
+      (unless (and (eq face 'default)
+                  (frame-parameter frame 'reverse))
+        (set-face-attributes-from-resources face frame)))))
 
 
 \f
@@ -1641,8 +1646,7 @@ After the reset, the specs are applied from the following sources in this order:
   (while (get face 'face-alias)
     (setq face (get face 'face-alias)))
   (face-spec-reset-face face frame)
-  (unless inhibit-x-resources
-    (make-face-x-resource-internal face frame))
+  (make-face-x-resource-internal face frame)
   ;; If FACE is customized or themed, set the custom spec from
   ;; `theme-face' records.
   (let ((theme-faces (get face 'theme-face))
@@ -2045,10 +2049,6 @@ frame parameters in PARAMETERS."
          (progn
            ;; Initialize faces from face spec and custom theme.
            (face-spec-recalc face frame)
-           ;; X resources for the default face are applied during
-           ;; `x-create-frame'.
-           (and (not (eq face 'default)) window-system-p
-                (make-face-x-resource-internal face frame))
            ;; Apply attributes specified by face-new-frame-defaults
            (internal-merge-in-global-face face frame))
        ;; Don't let invalid specs prevent frame creation.