summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/eval.c b/eval.c
index 7530b3fbde..094296466d 100644
--- a/eval.c
+++ b/eval.c
@@ -450,12 +450,12 @@ static struct BLOCK *ruby_block;
struct RVarmap *ruby_dyna_vars;
#define PUSH_VARS() { \
- struct RVarmap * volatile _oldvmap; \
- _oldvmap = ruby_dyna_vars; \
+ struct RVarmap * volatile _old; \
+ _old = ruby_dyna_vars; \
ruby_dyna_vars = 0;
#define POP_VARS() \
- ruby_dyna_vars = _oldvmap; \
+ ruby_dyna_vars = _old; \
}
static struct RVarmap*
@@ -4198,6 +4198,7 @@ eval(self, src, scope, file, line)
FL_SET(old_scope, SCOPE_DONT_RECYCLE);
ruby_scope = old_scope;
ruby_block = old_block;
+ ruby_dyna_vars = old_d_vars;
data->vmode = scope_vmode; /* write back visibility mode */
scope_vmode = old_vmode;
}