From: Chong Yidong Date: Thu, 1 Jan 2009 08:09:32 +0000 (+0000) Subject: (Finternal_set_lisp_face_attribute): Improve error message. X-Git-Tag: emacs-pretest-23.0.90~767 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e66d5363935fcfaec5cfffeb2efb2418295c1fc9;p=emacs.git (Finternal_set_lisp_face_attribute): Improve error message. --- diff --git a/src/xfaces.c b/src/xfaces.c index 4e5107a5932..64cd4a09015 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -3046,17 +3046,22 @@ FRAME 0 means change the face on all frames, and change the default { if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) { - Lisp_Object test; - - test = (EQ (face, Qdefault) - ? value - /* The default face must have an absolute size, - otherwise, we do a test merge with a random - height to see if VALUE's ok. */ - : merge_face_heights (value, make_number (10), Qnil)); - - if (!INTEGERP (test) || XINT (test) <= 0) - signal_error ("Invalid face height", value); + if (EQ (face, Qdefault)) + { + /* The default face must have an absolute size. */ + if (!INTEGERP (value) || XINT (value) <= 0) + signal_error ("Invalid default face height", value); + } + else + { + /* For non-default faces, do a test merge with a random + height to see if VALUE's ok. */ + Lisp_Object test = merge_face_heights (value, + make_number (10), + Qnil); + if (!INTEGERP (test) || XINT (test) <= 0) + signal_error ("Invalid face height", value); + } } old_value = LFACE_HEIGHT (lface);