diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2011-07-28 11:45:07 -0400 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2011-07-28 11:45:07 -0400 |
commit | c897048c52b767decd44fa59805f80cd71ae9050 (patch) | |
tree | 0d89dd4b12386325ccbeb33e5fb4267711da6ce3 | |
parent | ea180610badb3df580d68e444f4418dce7929d17 (diff) | |
download | emacs-c897048c52b767decd44fa59805f80cd71ae9050.tar.gz |
Backport 2010-07-03T14:42:02Z!eliz@gnu.org from trunk
-rw-r--r-- | src/ChangeLog | 6 | ||||
-rw-r--r-- | src/xfaces.c | 64 |
2 files changed, 39 insertions, 31 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0587a414acb..1c2218f9d96 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2011-07-28 Eli Zaretskii <eliz@gnu.org> + + * xfaces.c (update_face_from_frame_parameter): Move out of + HAVE_WINDOW_SYSTEM portion. Condition window-system only parts + with HAVE_WINDOW_SYSTEM. + 2011-07-26 Andreas Schwab <schwab@linux-m68k.org> * fontset.c (fontset_get_font_group): Add proper type checks. diff --git a/src/xfaces.c b/src/xfaces.c index 1606113596d..70850cc8a36 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -3490,37 +3490,6 @@ FRAME 0 means change the face on all frames, and change the default } -#ifdef HAVE_WINDOW_SYSTEM - -/* Set the `font' frame parameter of FRAME determined from the - font-object set in `default' face attributes LFACE. */ - -static void -set_font_frame_param (frame, lface) - Lisp_Object frame, lface; -{ - struct frame *f = XFRAME (frame); - Lisp_Object font; - - if (FRAME_WINDOW_P (f) - /* Don't do anything if the font is `unspecified'. This can - happen during frame creation. */ - && (font = LFACE_FONT (lface), - ! UNSPECIFIEDP (font))) - { - if (FONT_SPEC_P (font)) - { - font = font_load_for_lface (f, XVECTOR (lface)->contents, font); - if (NILP (font)) - return; - LFACE_FONT (lface) = font; - } - f->default_face_done_p = 0; - Fmodify_frame_parameters (frame, Fcons (Fcons (Qfont, font), Qnil)); - } -} - - /* Update the corresponding face when frame parameter PARAM on frame F has been assigned the value NEW_VALUE. */ @@ -3562,6 +3531,7 @@ update_face_from_frame_parameter (f, param, new_value) ? new_value : Qunspecified); realize_basic_faces (f); } +#ifdef HAVE_WINDOW_SYSTEM else if (EQ (param, Qborder_color)) { face = Qborder; @@ -3583,6 +3553,7 @@ update_face_from_frame_parameter (f, param, new_value) LFACE_BACKGROUND (lface) = (STRINGP (new_value) ? new_value : Qunspecified); } +#endif /* Changing a named face means that all realized faces depending on that face are invalid. Since we cannot tell which realized faces @@ -3598,6 +3569,37 @@ update_face_from_frame_parameter (f, param, new_value) } +#ifdef HAVE_WINDOW_SYSTEM + +/* Set the `font' frame parameter of FRAME determined from the + font-object set in `default' face attributes LFACE. */ + +static void +set_font_frame_param (frame, lface) + Lisp_Object frame, lface; +{ + struct frame *f = XFRAME (frame); + Lisp_Object font; + + if (FRAME_WINDOW_P (f) + /* Don't do anything if the font is `unspecified'. This can + happen during frame creation. */ + && (font = LFACE_FONT (lface), + ! UNSPECIFIEDP (font))) + { + if (FONT_SPEC_P (font)) + { + font = font_load_for_lface (f, XVECTOR (lface)->contents, font); + if (NILP (font)) + return; + LFACE_FONT (lface) = font; + } + f->default_face_done_p = 0; + Fmodify_frame_parameters (frame, Fcons (Fcons (Qfont, font), Qnil)); + } +} + + /* Get the value of X resource RESOURCE, class CLASS for the display of frame FRAME. This is here because ordinary `x-get-resource' doesn't take a frame argument. */ |