diff options
| author | Chong Yidong | 2005-11-18 03:55:45 +0000 |
|---|---|---|
| committer | Chong Yidong | 2005-11-18 03:55:45 +0000 |
| commit | 05338727a874606f2daa6e4d78fe871586aeffde (patch) | |
| tree | 8157a8e20324019dc704cc56205942b7835c823b /src | |
| parent | 4bfd45248daa0589c97b76fd5d9d0483de1aaec3 (diff) | |
| download | emacs-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/ChangeLog | 7 | ||||
| -rw-r--r-- | src/xfaces.c | 4 |
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); |