From: Jan Djärv Date: Wed, 1 Oct 2014 17:41:18 +0000 (+0200) Subject: * xfaces.c (Finternal_set_lisp_face_attribute): Don't try to X-Git-Tag: emacs-24.3.94~6 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e2e773b9e697e45d352ba02adb8446f26c7a59de;p=emacs.git * xfaces.c (Finternal_set_lisp_face_attribute): Don't try to make a font_object from a tty frame. Fixes: debbugs:18573 --- diff --git a/src/ChangeLog b/src/ChangeLog index fdc30da96b6..63fcf130542 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2014-10-01 Jan Djärv + + * xfaces.c (Finternal_set_lisp_face_attribute): Don't try to + make a font_object from a tty frame (Bug#18573). + 2014-09-30 Eli Zaretskii * w32fns.c (w32_createwindow): Accept an additional argument, an diff --git a/src/xfaces.c b/src/xfaces.c index ac67c7b7be4..5d158f08099 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -3119,17 +3119,20 @@ FRAME 0 means change the face on all frames, and change the default f = XFRAME (selected_frame); else f = XFRAME (frame); - if (! FONT_OBJECT_P (value)) - { - Lisp_Object *attrs = XVECTOR (lface)->contents; - Lisp_Object font_object; - - font_object = font_load_for_lface (f, attrs, value); - if (NILP (font_object)) - signal_error ("Font not available", value); - value = font_object; - } - set_lface_from_font (f, lface, value, 1); + if (f->terminal->type != output_termcap) + { + if (! FONT_OBJECT_P (value)) + { + Lisp_Object *attrs = XVECTOR (lface)->contents; + Lisp_Object font_object; + + font_object = font_load_for_lface (f, attrs, value); + if (NILP (font_object)) + signal_error ("Font not available", value); + value = font_object; + } + set_lface_from_font (f, lface, value, 1); + } } else ASET (lface, LFACE_FONT_INDEX, value);