fix equal? on two chaperoned values

This commit is contained in:
Matthew Flatt 2010-05-05 07:17:58 -06:00
parent 5b9e0e455d
commit 7359a6f9d0

View File

@ -559,6 +559,11 @@ int is_equal (Scheme_Object *obj1, Scheme_Object *obj2, Equal_Info *eql)
obj1 = SCHEME_PTR_VAL(obj1);
obj2 = SCHEME_PTR_VAL(obj2);
goto top;
} else if (!eql->for_chaperone && SCHEME_CHAPERONEP(obj1)) {
/* both chaperones */
obj1 = ((Scheme_Chaperone *)obj1)->val;
obj2 = ((Scheme_Chaperone *)obj2)->val;
goto top;
} else {
Scheme_Equal_Proc eqlp = scheme_type_equals[SCHEME_TYPE(obj1)];
if (eqlp) {