summaryrefslogtreecommitdiff
path: root/libguile/struct.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-11-06 10:27:19 +0100
committerAndy Wingo <wingo@pobox.com>2009-11-26 00:25:07 +0100
commitab455d1f1b14347e1445161eeafec919235af92e (patch)
tree5b32056bfa0860d3fa53090fc9687d282475852f /libguile/struct.c
parenta9a90a8820e6f6a36d0f17cdca5f8ba0d7ca735b (diff)
downloadguile-ab455d1f1b14347e1445161eeafec919235af92e.tar.gz
eqv? not a generic, equal? dispatches to generic only for objects
* libguile/eq.c (scm_eqv_p): Not a generic any more. Since eqv? is used by e.g. `case', which should be able to compile into dispatch tables, it really doesn't make sense to dispatch out to a generic. (scm_equal_p): So it was always the case that (equal? 'foo "foo") => #f. But (equal? 'foo 'bar) could actually be extended by a generic. This was a bug, if you follow the other logic of the code. Changed so that generic functions can only extend the domain of equal? when operating on goops objects. * oop/goops.scm: No more eqv? generic. * test-suite/tests/goops.test: Remove eqv? tests.
Diffstat (limited to 'libguile/struct.c')
0 files changed, 0 insertions, 0 deletions