Fix handling of frame color parameters in TTY sessions (Bug#19802)
src/xfaces.c (map_tty_color): Use assoc_no_quit instead of assq_no_quit to fetch color definition by its string name. lisp/frame.el (frame-notice-user-settings): Refresh the value of 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.
This commit is contained in:
parent
eca7da1092
commit
20c817d365
4 changed files with 27 additions and 4 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2015-02-08 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* frame.el (frame-notice-user-settings): Refresh the value of
|
||||||
|
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)
|
||||||
|
|
||||||
2015-02-06 Wolfgang Jenkner <wjenkner@inode.at>
|
2015-02-06 Wolfgang Jenkner <wjenkner@inode.at>
|
||||||
|
|
||||||
* net/network-stream.el (network-stream-open-tls): Respect the
|
* net/network-stream.el (network-stream-open-tls): Respect the
|
||||||
|
|
|
@ -251,6 +251,10 @@ there (in decreasing order of priority)."
|
||||||
(let ((newparms (frame-parameters))
|
(let ((newparms (frame-parameters))
|
||||||
(frame (selected-frame)))
|
(frame (selected-frame)))
|
||||||
(tty-handle-reverse-video frame newparms)
|
(tty-handle-reverse-video frame newparms)
|
||||||
|
;; tty-handle-reverse-video might change the frame's
|
||||||
|
;; color parameters, and we need to use the updated
|
||||||
|
;; value below.
|
||||||
|
(setq newparms (frame-parameters))
|
||||||
;; If we changed the background color, we need to update
|
;; If we changed the background color, we need to update
|
||||||
;; the background-mode parameter, and maybe some faces,
|
;; the background-mode parameter, and maybe some faces,
|
||||||
;; too.
|
;; too.
|
||||||
|
@ -258,7 +262,7 @@ there (in decreasing order of priority)."
|
||||||
(unless (or (assq 'background-mode initial-frame-alist)
|
(unless (or (assq 'background-mode initial-frame-alist)
|
||||||
(assq 'background-mode default-frame-alist))
|
(assq 'background-mode default-frame-alist))
|
||||||
(frame-set-background-mode frame))
|
(frame-set-background-mode frame))
|
||||||
(face-set-after-frame-default frame))))))
|
(face-set-after-frame-default frame newparms))))))
|
||||||
|
|
||||||
;; If the initial frame is still around, apply initial-frame-alist
|
;; If the initial frame is still around, apply initial-frame-alist
|
||||||
;; and default-frame-alist to it.
|
;; and default-frame-alist to it.
|
||||||
|
@ -1185,7 +1189,9 @@ To get the frame's current background color, use `frame-parameters'."
|
||||||
(modify-frame-parameters (selected-frame)
|
(modify-frame-parameters (selected-frame)
|
||||||
(list (cons 'background-color color-name)))
|
(list (cons 'background-color color-name)))
|
||||||
(or window-system
|
(or window-system
|
||||||
(face-set-after-frame-default (selected-frame))))
|
(face-set-after-frame-default (selected-frame)
|
||||||
|
(list
|
||||||
|
(cons 'background-color color-name)))))
|
||||||
|
|
||||||
(defun set-foreground-color (color-name)
|
(defun set-foreground-color (color-name)
|
||||||
"Set the foreground color of the selected frame to COLOR-NAME.
|
"Set the foreground color of the selected frame to COLOR-NAME.
|
||||||
|
@ -1195,7 +1201,9 @@ To get the frame's current foreground color, use `frame-parameters'."
|
||||||
(modify-frame-parameters (selected-frame)
|
(modify-frame-parameters (selected-frame)
|
||||||
(list (cons 'foreground-color color-name)))
|
(list (cons 'foreground-color color-name)))
|
||||||
(or window-system
|
(or window-system
|
||||||
(face-set-after-frame-default (selected-frame))))
|
(face-set-after-frame-default (selected-frame)
|
||||||
|
(list
|
||||||
|
(cons 'foreground-color color-name)))))
|
||||||
|
|
||||||
(defun set-cursor-color (color-name)
|
(defun set-cursor-color (color-name)
|
||||||
"Set the text cursor color of the selected frame to COLOR-NAME.
|
"Set the text cursor color of the selected frame to COLOR-NAME.
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
2015-02-08 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* xfaces.c (map_tty_color): Use assoc_no_quit instead of
|
||||||
|
assq_no_quit to fetch color definition by its string name.
|
||||||
|
(Bug#19802)
|
||||||
|
|
||||||
2015-02-05 Eli Zaretskii <eliz@gnu.org>
|
2015-02-05 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
* xdisp.c (move_it_in_display_line_to): Handle the case where the
|
* xdisp.c (move_it_in_display_line_to): Handle the case where the
|
||||||
|
|
|
@ -5793,7 +5793,7 @@ map_tty_color (struct frame *f, struct face *face,
|
||||||
if (STRINGP (color)
|
if (STRINGP (color)
|
||||||
&& SCHARS (color)
|
&& SCHARS (color)
|
||||||
&& CONSP (Vtty_defined_color_alist)
|
&& CONSP (Vtty_defined_color_alist)
|
||||||
&& (def = assq_no_quit (color, call1 (Qtty_color_alist, frame)),
|
&& (def = assoc_no_quit (color, call1 (Qtty_color_alist, frame)),
|
||||||
CONSP (def)))
|
CONSP (def)))
|
||||||
{
|
{
|
||||||
/* Associations in tty-defined-color-alist are of the form
|
/* Associations in tty-defined-color-alist are of the form
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue