From 0268cef3fa68ba58822c2d3bed6f1e20e5e313ea Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sun, 20 Nov 2005 15:22:31 +0000 Subject: [PATCH] * xfaces.c (Finternal_set_lisp_face_attribute): Use :ignore-defface for new frame defaults when `unspecified' is supplied. (Finternal_get_lisp_face_attribute): Hide :ignore-defface. --- src/ChangeLog | 7 +++++++ src/xfaces.c | 9 ++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 548b9b1b959..e70e00e2f57 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2005-11-20 Chong Yidong + + * xfaces.c (Finternal_set_lisp_face_attribute): Use + :ignore-defface for new frame defaults when `unspecified' is + supplied. + (Finternal_get_lisp_face_attribute): Hide :ignore-defface. + 2005-11-20 Juri Linkov * charset.c (invalid_character): Use Lisp-readable syntax diff --git a/src/xfaces.c b/src/xfaces.c index 89fad414153..8729441925a 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -4054,7 +4054,11 @@ FRAME 0 means change the face on all frames, and change the default /* Set lface to the Lisp attribute vector of FACE. */ if (EQ (frame, Qt)) - lface = lface_from_face_name (NULL, face, 1); + { + lface = lface_from_face_name (NULL, face, 1); + if (UNSPECIFIEDP (value)) + value = Qignore_defface; + } else { if (NILP (frame)) @@ -4880,6 +4884,9 @@ frames). If FRAME is omitted or nil, use the selected frame. */) else signal_error ("Invalid face attribute name", keyword); + if (IGNORE_DEFFACE_P (value)) + return Qunspecified; + return value; } -- 2.39.2