summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--eval.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0692de235..5524cde9c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Jan 16 14:56:49 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eavl.c (proc_eq): compare also arguments and environment.
+ [ruby-dev:22590]
+
Fri Jan 16 14:33:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
* marshal.c (class2path): get class path and check referable.
diff --git a/eval.c b/eval.c
index 2ec0dca6f..1b769d58c 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;
}
/*