From: Gerd Moellmann Date: Thu, 7 Sep 2000 09:51:06 +0000 (+0000) Subject: (Finternal_set_lisp_face_attribute): If FRAME is 0, X-Git-Tag: emacs-pretest-21.0.90~1748 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=628436fbc6e5ce107124f245b988a7f853b7ca31;p=emacs.git (Finternal_set_lisp_face_attribute): If FRAME is 0, change face on all frames, and change the default for new frames. --- diff --git a/src/xfaces.c b/src/xfaces.c index ca7df408c2c..84f43d81d69 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -3631,10 +3631,11 @@ Value is TO.") 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 @@ frame.") 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);