From 3ca245a54c7d4a65ada9dfdff46b8875f6a4ee39 Mon Sep 17 00:00:00 2001 From: matz Date: Sat, 26 Sep 2009 14:59:09 +0000 Subject: [PATCH] * vm_method.c (rb_method_entry_eq): method defined from same block/proc should be equal. [ruby-core:25755] [ruby-core:24791] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ vm_method.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index f4f84ba623..6f44cd9ad8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -29,6 +29,11 @@ Sat Sep 26 13:26:55 2009 Marc-Andre Lafortune * 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 + + * 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 * iseq.c (compile_string): rename to parse_string(), because diff --git a/vm_method.c b/vm_method.c index f79568402f..f8648a9e48 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: