+2000-09-09 Gerd Moellmann <gerd@gnu.org>
+
+ * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
+ by Fmemq in a condition.
+
2000-09-08 Stefan Monnier <monnier@cs.yale.edu>
* xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
CHECK is evaluated multiple times, EL and SUSPICIOUS 0 or 1 times, so
the caller should make sure that's ok. */
-#define CYCLE_CHECK(check, el, suspicious) \
- (NILP (check) \
- ? make_number (0) \
- : INTEGERP (check) \
- ? (XFASTINT (check) < (suspicious) \
- ? make_number (XFASTINT (check) + 1) \
- : Fcons (el, Qnil)) \
- : Fmemq ((el), (check)) \
- ? Qnil \
- : Fcons ((el), (check)))
+#define CYCLE_CHECK(check, el, suspicious) \
+ (NILP (check) \
+ ? make_number (0) \
+ : (INTEGERP (check) \
+ ? (XFASTINT (check) < (suspicious) \
+ ? make_number (XFASTINT (check) + 1) \
+ : Fcons (el, Qnil)) \
+ : (!NILP (Fmemq ((el), (check))) \
+ ? Qnil \
+ : Fcons ((el), (check)))))
/* Merge face attributes from the face on frame F whose name is