~ chicken-core (chicken-5) 95834010ad8f7724a3aca5016958c4ff37ec8cfa
commit 95834010ad8f7724a3aca5016958c4ff37ec8cfa Author: felix <felix@call-with-current-continuation.org> AuthorDate: Tue Jan 18 00:49:49 2011 +0100 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Tue Jan 18 00:49:49 2011 +0100 incorrect closure test in equal? - thanks to ckeen diff --git a/runtime.c b/runtime.c index 45107fa6..fa4c10a5 100644 --- a/runtime.c +++ b/runtime.c @@ -3892,7 +3892,7 @@ C_regparm C_word C_fcall C_equalp(C_word x, C_word y) if(bits & C_SPECIALBLOCK_BIT) { /* do not recurse into closures */ - if((bits & C_CLOSURE_TYPE) != 0) + if(C_header_bits(x) == C_CLOSURE_TYPE) return !C_memcmp((void *)x, (void *)y, n * sizeof(C_word)); else if(C_block_item(x, 0) != C_block_item(y, 0)) return 0; else ++i;Trap