Hi Andy,

The error on 4.9.0rc1 is likely due to 0a52536, which made `assoc`,
`member` et al. signal errors when their second arguments aren't lists
instead of just returning #f (or the sentinel value). This is new
behavior since 4.7.0, and IIRC there were a couple of places in CHICKEN
itself that required updating after this change too, since they were
also relying on these cases returning #f.

Anyway, when passed `eqv?` as a comparator *before* importing numbers,
`alist-ref` uses CHICKEN's built-in `assq` for the search, including
this new behavior. *After* importing numbers, however, you're really
passing the numbers extension's version of `eqv?`, which `alist-ref`
doesn't take as a signal to use the built-in `assq` and instead falls
back to a search function that matches the pre-0a52536 (i.e. 4.7.0)
behavior and returns #f/the sentinel value.

@ -hackers: I think `alist-ref`'s fallback search function should match
the behavior of core's versions. Objections?

Evan

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to