summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-05-22 04:41:36 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-05-22 04:41:36 +0000
commit76bfb983e89e269640494918e05db45c359abdf6 (patch)
tree023bfc556476e071dc0aa7cafbe9d1486fa5184d
parentd32f258895e2ca5ee5b50d70bdaa40d929542ad8 (diff)
downloadruby-76bfb983e89e269640494918e05db45c359abdf6.tar.gz
ruby-76bfb983e89e269640494918e05db45c359abdf6.tar.xz
ruby-76bfb983e89e269640494918e05db45c359abdf6.zip
* eval.c (ev_const_get): should support constant access from
within instance_eval(). [ruby-dev:28327] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--eval.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f984d1784..7e3f39d94 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon May 22 13:38:57 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (ev_const_get): should support constant access from
+ within instance_eval(). [ruby-dev:28327]
+
Thu May 18 17:51:32 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
* time.c (time_timeval): should round for usec floating
diff --git a/eval.c b/eval.c
index 4698c3402..eebb663bc 100644
--- a/eval.c
+++ b/eval.c
@@ -1892,7 +1892,7 @@ ev_const_get(cref, id, self)
}
cbase = cbase->nd_next;
}
- return rb_const_get(cref->nd_clss, id);
+ return rb_const_get(NIL_P(cref->nd_clss) ? CLASS_OF(self): cref->nd_clss, id);
}
static VALUE