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 + + * eval.c (is_defined): stupid mistakes fixed. [ruby-dev:24006] + Sat Jul 31 17:39:47 2004 Nobuyoshi Nakada * 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: