summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-01-16 05:56:53 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-01-16 05:56:53 +0000
commitfd23f145e6deee2315416a916bf8990bea44e7c2 (patch)
treeba067e245a9ae9ce61ecc611a41bb85298709b5d /eval.c
parent551e4171459820e8d35f19006dbbd833a0501411 (diff)
* eavl.c (proc_eq): compare also arguments and environment.
[ruby-dev:22590] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index 2ec0dca6fa..1b769d58c9 100644
--- a/eval.c
+++ b/eval.c
@@ -8212,8 +8212,10 @@ proc_eq(self, other)
if (CLASS_OF(self) != CLASS_OF(other)) return Qfalse;
Data_Get_Struct(self, struct BLOCK, data);
Data_Get_Struct(other, struct BLOCK, data2);
- if (data->body == data2->body) return Qtrue;
- return Qfalse;
+ if (data->body != data2->body) return Qfalse;
+ if (data->var != data2->var) return Qfalse;
+ if (data->frame.uniq != data2->frame.uniq) return Qfalse;
+ return Qtrue;
}
/*