Function: internal-lisp-face-equal-p
internal-lisp-face-equal-p is a function defined in xfaces.c.
Signature
(internal-lisp-face-equal-p FACE1 FACE2 &optional FRAME)
Documentation
True if FACE1 and FACE2 are equal.
If the optional argument FRAME is given, report on FACE1 and FACE2 in that frame. If FRAME is t, report on the defaults for FACE1 and FACE2 (for new frames). If FRAME is omitted or nil, use the selected frame.
Source Code
// Defined in /usr/src/emacs/src/xfaces.c
{
bool equal_p;
struct frame *f;
Lisp_Object lface1, lface2;
/* Don't use decode_window_system_frame here because this function
is called before X frames exist. At that time, if FRAME is nil,
selected_frame will be used which is the frame dumped with
Emacs. That frame is not an X frame. */
f = EQ (frame, Qt) ? NULL : decode_live_frame (frame);
lface1 = lface_from_face_name (f, face1, true);
lface2 = lface_from_face_name (f, face2, true);
equal_p = lface_equal_p (XVECTOR (lface1)->contents,
XVECTOR (lface2)->contents);
return equal_p ? Qt : Qnil;
}