summaryrefslogtreecommitdiffstats
path: root/hash.c
diff options
context:
space:
mode:
Diffstat (limited to 'hash.c')
-rw-r--r--hash.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hash.c b/hash.c
index 77de4dea..e844d5f3 100644
--- a/hash.c
+++ b/hash.c
@@ -173,6 +173,11 @@ static cnum equal_hash(val obj)
case FLNUM:
return hash_double(obj->fl.n);
case COBJ:
+ if (obj->co.ops->equalsub) {
+ val sub = obj->co.ops->equalsub(obj);
+ if (sub)
+ return equal_hash(sub);
+ }
return obj->co.ops->hash(obj) & NUM_MAX;
case RNG:
return (equal_hash(obj->rn.from)