aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--eval.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index a881bf6a1f..7ed9d327c7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sat Jul 31 23:08:00 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (is_defined): stupid mistakes fixed. [ruby-dev:24006]
+
Sat Jul 31 17:39:47 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
* misc/ruby-mode.el (ruby-expr-beg, ruby-parse-partial,
diff --git a/eval.c b/eval.c
index a402af1e64..bfeeac706c 100644
--- a/eval.c
+++ b/eval.c
@@ -2240,8 +2240,8 @@ is_defined(self, node, buf, noeval)
val = self;
if (node->nd_recv == (NODE *)1) goto check_bound;
case NODE_CALL:
- if (noeval) return ex;
if (!is_defined(self, node->nd_recv, buf, Qtrue)) return 0;
+ if (noeval) return ex;
val = rb_eval(self, node->nd_recv);
check_bound:
{
@@ -2333,8 +2333,9 @@ is_defined(self, node, buf, noeval)
break;
case NODE_COLON2:
- if (noeval) return ex;
if (!is_defined(self, node->nd_recv, buf, Qtrue)) return 0;
+ if (noeval) return ex;
+ val = rb_eval(self, node->nd_recv);
switch (TYPE(val)) {
case T_CLASS:
case T_MODULE: