diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-09-06 01:02:10 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-09-06 01:02:10 +0000 |
commit | 0c246b5c2e0f31f349d4ec8d75a90f61b054371a (patch) | |
tree | 61d214975212ff932a9d2b45ef4f5c799366b22d /eval.c | |
parent | 7b8c1f62fa16f536ccb137c77398406e5d1f3279 (diff) | |
download | ruby-0c246b5c2e0f31f349d4ec8d75a90f61b054371a.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/branches/ruby_1_8@6859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1771,7 +1771,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"); @@ -6417,7 +6417,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; |