Mercurial > emacs
changeset 31440:67f5b4186ed2
(Finternal_set_lisp_face_attribute): If FRAME is 0,
change face on all frames, and change the default for new frames.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Thu, 07 Sep 2000 09:51:06 +0000 |
parents | d7a98f35b441 |
children | 81039e21ffec |
files | src/xfaces.c |
diffstat | 1 files changed, 15 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xfaces.c Thu Sep 07 09:50:30 2000 +0000 +++ b/src/xfaces.c Thu Sep 07 09:51:06 2000 +0000 @@ -3631,10 +3631,11 @@ DEFUN ("internal-set-lisp-face-attribute", Finternal_set_lisp_face_attribute, Sinternal_set_lisp_face_attribute, 3, 4, 0, "Set attribute ATTR of FACE to VALUE.\n\ -If optional argument FRAME is given, set the face attribute of face FACE\n\ -on that frame. If FRAME is t, set the attribute of the default for face\n\ -FACE (for new frames). If FRAME is omitted or nil, use the selected\n\ -frame.") +FRAME being a frame means change the face on that frame.\n\ +FRAME nil means change change the face of the selected frame.\n\ +FRAME t means change the default for new frames.\n\ +FRAME 0 means change the face on all frames, and change the default\n\ + for new frames.") (face, attr, value, frame) Lisp_Object face, attr, value, frame; { @@ -3650,6 +3651,16 @@ face = resolve_face_name (face); + /* If FRAME is 0, change face on all frames, and change the + default for new frames. */ + if (INTEGERP (frame) && XINT (frame) == 0) + { + Lisp_Object tail; + FOR_EACH_FRAME (tail, frame) + Finternal_set_lisp_face_attribute (face, attr, value, frame); + return Finternal_set_lisp_face_attribute (face, attr, value, Qt); + } + /* Set lface to the Lisp attribute vector of FACE. */ if (EQ (frame, Qt)) lface = lface_from_face_name (NULL, face, 1);