Don't lose frame's background color when setting foreground (Bug#19802)

lisp/frame.el ((set-background-color, set-foreground-color): Pass the
 other color, if defined, to face-set-after-frame-default.
This commit is contained in:
Eli Zaretskii 2015-02-08 20:09:19 +02:00
parent 20c817d365
commit a7b1c2f88f
2 changed files with 16 additions and 4 deletions

View file

@ -4,8 +4,8 @@
frame parameters after calling tty-handle-reverse-video. Call
face-set-after-frame-default with the actual parameters, to avoid
resetting colors back to unspecified.
(set-background-color, set-foreground-color): Pass the selected
color to face-set-after-frame-default. (Bug#19802)
(set-background-color, set-foreground-color): Pass the foreground
and background colors to face-set-after-frame-default. (Bug#19802)
2015-02-06 Wolfgang Jenkner <wjenkner@inode.at>

View file

@ -1191,7 +1191,13 @@ To get the frame's current background color, use `frame-parameters'."
(or window-system
(face-set-after-frame-default (selected-frame)
(list
(cons 'background-color color-name)))))
(cons 'background-color color-name)
;; Pass the foreground-color as
;; well, if defined, to avoid
;; losing it when faces are reset
;; to their defaults.
(assq 'foreground-color
(frame-parameters))))))
(defun set-foreground-color (color-name)
"Set the foreground color of the selected frame to COLOR-NAME.
@ -1203,7 +1209,13 @@ To get the frame's current foreground color, use `frame-parameters'."
(or window-system
(face-set-after-frame-default (selected-frame)
(list
(cons 'foreground-color color-name)))))
(cons 'foreground-color color-name)
;; Pass the background-color as
;; well, if defined, to avoid
;; losing it when faces are reset
;; to their defaults.
(assq 'background-color
(frame-parameters))))))
(defun set-cursor-color (color-name)
"Set the text cursor color of the selected frame to COLOR-NAME.