# HG changeset patch # User Gerd Moellmann # Date 968320266 0 # Node ID 67f5b4186ed27b3e99f354e6a6d4586c42edf7bc # Parent d7a98f35b44180b3f5b91387e8614473c583d3e0 (Finternal_set_lisp_face_attribute): If FRAME is 0, change face on all frames, and change the default for new frames. diff -r d7a98f35b441 -r 67f5b4186ed2 src/xfaces.c --- 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);