aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChong Yidong2005-11-18 03:55:45 +0000
committerChong Yidong2005-11-18 03:55:45 +0000
commit05338727a874606f2daa6e4d78fe871586aeffde (patch)
tree8157a8e20324019dc704cc56205942b7835c823b /src
parent4bfd45248daa0589c97b76fd5d9d0483de1aaec3 (diff)
downloademacs-05338727a874606f2daa6e4d78fe871586aeffde.tar.gz
emacs-05338727a874606f2daa6e4d78fe871586aeffde.zip
(Fface_attribute_relative_p, Fmerge_face_attribute): Handle
Qignore_defface as a possible value.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/xfaces.c4
2 files changed, 6 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index dcdc481f37b..078164c5fb9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -3,9 +3,10 @@
3 * xfaces.c (Qignore_defface): New variable. 3 * xfaces.c (Qignore_defface): New variable.
4 (syms_of_xfaces): Provide `:ignore-defface'. 4 (syms_of_xfaces): Provide `:ignore-defface'.
5 (IGNORE_DEFFACE_P): New macro. 5 (IGNORE_DEFFACE_P): New macro.
6 (check_lface_attrs): Qignore_defface is a possible value. 6 (check_lface_attrs, lface_fully_specified_p)
7 (lface_fully_specified_p): Likewise. 7 (Finternal_set_lisp_face_attribute)
8 (Finternal_set_lisp_face_attribute): Likewise. 8 (Fface_attribute_relative_p, Fmerge_face_attribute): Handle
9 Qignore_defface as a possible value.
9 (merge_face_vectors): The merged face is `unspecified' if the 10 (merge_face_vectors): The merged face is `unspecified' if the
10 mergee specifies `:ignore-defface'. 11 mergee specifies `:ignore-defface'.
11 12
diff --git a/src/xfaces.c b/src/xfaces.c
index aafa9e5e378..89fad414153 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -4794,7 +4794,7 @@ DEFUN ("face-attribute-relative-p", Fface_attribute_relative_p,
4794 (attribute, value) 4794 (attribute, value)
4795 Lisp_Object attribute, value; 4795 Lisp_Object attribute, value;
4796{ 4796{
4797 if (EQ (value, Qunspecified)) 4797 if (EQ (value, Qunspecified) || (EQ (value, Qignore_defface)))
4798 return Qt; 4798 return Qt;
4799 else if (EQ (attribute, QCheight)) 4799 else if (EQ (attribute, QCheight))
4800 return INTEGERP (value) ? Qnil : Qt; 4800 return INTEGERP (value) ? Qnil : Qt;
@@ -4810,7 +4810,7 @@ the result will be absolute, otherwise it will be relative. */)
4810 (attribute, value1, value2) 4810 (attribute, value1, value2)
4811 Lisp_Object attribute, value1, value2; 4811 Lisp_Object attribute, value1, value2;
4812{ 4812{
4813 if (EQ (value1, Qunspecified)) 4813 if (EQ (value1, Qunspecified) || EQ (value1, Qignore_defface))
4814 return value2; 4814 return value2;
4815 else if (EQ (attribute, QCheight)) 4815 else if (EQ (attribute, QCheight))
4816 return merge_face_heights (value1, value2, value1); 4816 return merge_face_heights (value1, value2, value1);