Commit 5f65b39d authored by Eli Zaretskii's avatar Eli Zaretskii

(Fframe_parameter): For non-windowed frames, if

f->param_alist says foreground or background color is unspecified,
call tty_color_name to return the color name computed from the
frame's current colors.
parent f26d858e
......@@ -2133,7 +2133,29 @@ If FRAME is nil, describe the currently selected frame.")
{
value = Fassq (parameter, f->param_alist);
if (CONSP (value))
{
extern char unspecified_fg[], unspecified_bg[];
extern Lisp_Object Qbackground_color, Qforeground_color;
value = XCDR (value);
/* Fframe_parameters puts the actual fg/bg color names,
even if f->param_alist says otherwise. This is
important when param_alist's notion of colors is
"unspecified". We need to do the same here. */
if (STRINGP (value) && !FRAME_WINDOW_P (f))
{
if (EQ (parameter, Qbackground_color)
&& strncmp (XSTRING (value)->data,
unspecified_bg,
XSTRING (value)->size) == 0)
value = tty_color_name (f, FRAME_BACKGROUND_PIXEL (f));
else if (EQ (parameter, Qforeground_color)
&& strncmp (XSTRING (value)->data,
unspecified_fg,
XSTRING (value)->size) == 0)
value = tty_color_name (f, FRAME_FOREGROUND_PIXEL (f));
}
}
else if (EQ (parameter, Qdisplay_type)
|| EQ (parameter, Qbackground_mode))
/* Avoid consing in frequent cases. */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment