summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-02-19 04:49:27 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-02-19 04:49:27 +0000
commitd1ca5e6d6a03b87ab58b496a2691fa55eaf36ea0 (patch)
tree8ea8848a00d6749194ab5565e87a1f0546900697 /eval.c
parent1a7929a9696b98f355415edc1d62cd2f9425fcac (diff)
* eval.c (rb_eval_string_wrap): should hide the toplevel local
variable bindings by PUSH_SCOPE(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 634347388e..b4a30e35aa 100644
--- a/eval.c
+++ b/eval.c
@@ -1297,10 +1297,12 @@ rb_eval_string_wrap(str, state)
ruby_frame->last_class = 0;
ruby_frame->self = self;
ruby_frame->cbase = (VALUE)rb_node_newnode(NODE_CREF,ruby_wrapper,0,0);
+ PUSH_SCOPE();
val = rb_eval_string_protect(str, &status);
ruby_top_self = self;
+ POP_SCOPE();
POP_FRAME();
POP_CLASS();
ruby_wrapper = wrapper;