From 6caeb8f8fba93d0003d20daa4181db2dbad948e1 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Fri, 1 Jun 2012 01:30:44 +0900 Subject: hash function should use #eql? internally --- src/hash.c | 2 +- src/object.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/hash.c b/src/hash.c index 8cb039cea..21d458def 100644 --- a/src/hash.c +++ b/src/hash.c @@ -32,7 +32,7 @@ mrb_hash_ht_hash_func(mrb_state *mrb, mrb_value key) static inline khint_t mrb_hash_ht_hash_equal(mrb_state *mrb, mrb_value a, mrb_value b) { - return mrb_equal(mrb, a, b); + return mrb_eql(mrb, a, b); } KHASH_INIT(ht, mrb_value, mrb_value, 1, mrb_hash_ht_hash_func, mrb_hash_ht_hash_equal); diff --git a/src/object.c b/src/object.c index 4dc900feb..81e3867a7 100644 --- a/src/object.c +++ b/src/object.c @@ -619,12 +619,12 @@ mrb_Float(mrb_state *mrb, mrb_value val) mrb_value mrb_inspect(mrb_state *mrb, mrb_value obj) { - return mrb_obj_as_string(mrb, mrb_funcall(mrb, obj, "inspect", 0, 0)); + return mrb_obj_as_string(mrb, mrb_funcall(mrb, obj, "inspect", 0, 0)); } int mrb_eql(mrb_state *mrb, mrb_value obj1, mrb_value obj2) { - return RTEST(mrb_funcall(mrb, obj1, "eql?", 1, obj2)); + if (mrb_obj_eq(mrb, obj1, obj2)) return TRUE; + return RTEST(mrb_funcall(mrb, obj1, "eql?", 1, obj2)); } - -- cgit v1.2.3