changeset 67046:095993a59ddd

* 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.
author Chong Yidong <cyd@stupidchicken.com>
date Sun, 20 Nov 2005 15:22:31 +0000
parents 0425305d73a5
children 1afb65446eaf
files src/ChangeLog src/xfaces.c
diffstat 2 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sun Nov 20 15:17:23 2005 +0000
+++ b/src/ChangeLog	Sun Nov 20 15:22:31 2005 +0000
@@ -1,3 +1,10 @@
+2005-11-20  Chong Yidong  <cyd@stupidchicken.com>
+
+	* 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  <juri@jurta.org>
 
 	* charset.c (invalid_character): Use Lisp-readable syntax
--- a/src/xfaces.c	Sun Nov 20 15:17:23 2005 +0000
+++ b/src/xfaces.c	Sun Nov 20 15:22:31 2005 +0000
@@ -4054,7 +4054,11 @@
 
   /* 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 @@
   else
     signal_error ("Invalid face attribute name", keyword);
 
+  if (IGNORE_DEFFACE_P (value))
+    return Qunspecified;
+
   return value;
 }