diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-09-06 00:48:03 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-09-06 00:48:03 +0000 |
commit | d58885977b5ea50cb177aee491f92386042ae0f5 (patch) | |
tree | 473a5d8d4dc78b7be069f98ca1b4a5e081802341 /eval.c | |
parent | 6faa93ff25dc1c868810910bec9d27a51a68da3d (diff) | |
download | ruby-d58885977b5ea50cb177aee491f92386042ae0f5.tar.gz |
* eval.c (cvar_cbase): singletons should refer outer cvar scope.
[ruby-dev:24223]
* eval.c (rb_load): should preserve previous ruby_wrapper value.
[ruby-dev:24226]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1773,7 +1773,7 @@ cvar_cbase() { NODE *cref = ruby_cref; - while (cref && cref->nd_next && FL_TEST(cref->nd_clss, FL_SINGLETON)) { + while (cref && cref->nd_next && (NIL_P(cref->nd_clss) || FL_TEST(cref->nd_clss, FL_SINGLETON))) { cref = cref->nd_next; if (!cref->nd_next) { rb_warn("class variable access from toplevel singleton method"); @@ -6411,7 +6411,7 @@ rb_load(fname, wrap) int state; volatile int prohibit_int = rb_prohibit_interrupt; volatile ID last_func; - volatile VALUE wrapper = 0; + volatile VALUE wrapper = ruby_wrapper; volatile VALUE self = ruby_top_self; NODE *volatile last_node; NODE *saved_cref = ruby_cref; |