summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-09-06 01:02:10 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-09-06 01:02:10 +0000
commit0c246b5c2e0f31f349d4ec8d75a90f61b054371a (patch)
tree61d214975212ff932a9d2b45ef4f5c799366b22d /eval.c
parent7b8c1f62fa16f536ccb137c77398406e5d1f3279 (diff)
* 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.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index 71c012623c..94060c8d54 100644
--- a/eval.c
+++ b/eval.c
@@ -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;