summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--vm_method.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f4f84ba62..6f44cd9ad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -29,6 +29,11 @@ Sat Sep 26 13:26:55 2009 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* lib/net/http.rb (transport_request): Handle timeout error by
closing socket if exception raised. [ruby-core:20976]
+Sat Sep 26 12:08:17 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * vm_method.c (rb_method_entry_eq): method defined from same
+ block/proc should be equal. [ruby-core:25755] [ruby-core:24791]
+
Sat Sep 26 08:35:12 2009 Koichi Sasada <ko1@atdot.net>
* iseq.c (compile_string): rename to parse_string(), because
diff --git a/vm_method.c b/vm_method.c
index f79568402..f8648a9e4 100644
--- a/vm_method.c
+++ b/vm_method.c
@@ -809,7 +809,7 @@ rb_method_entry_eq(const rb_method_entry_t *m1, const rb_method_entry_t *m2)
case VM_METHOD_TYPE_IVAR:
return d1->body.attr_id == d2->body.attr_id;
case VM_METHOD_TYPE_BMETHOD:
- return d1->body.proc == d2->body.proc;
+ return rb_equal(d1->body.proc, d2->body.proc);
case VM_METHOD_TYPE_ZSUPER:
case VM_METHOD_TYPE_NOTIMPLEMENTED:
case VM_METHOD_TYPE_UNDEF: