summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-09-22 04:30:11 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-09-22 04:30:11 +0000
commit15eb607c1c0803812050a50fc7dcfb9f456ff3b2 (patch)
tree826107ddf61a637dcb32d60f334bf56c27d72dc1 /eval.c
parent7424833158ab053790f4e23ac1c4a5178eadbbdb (diff)
downloadruby-15eb607c1c0803812050a50fc7dcfb9f456ff3b2.tar.gz
ruby-15eb607c1c0803812050a50fc7dcfb9f456ff3b2.tar.xz
ruby-15eb607c1c0803812050a50fc7dcfb9f456ff3b2.zip
19990922
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index 8d69936d0..d22cf137e 100644
--- a/eval.c
+++ b/eval.c
@@ -648,6 +648,10 @@ static struct tag *prot_tag;
prot_tag = _tag.prev; \
}
+#define POP_TMPTAG() \
+ prot_tag = _tag.prev; \
+}
+
#define TAG_RETURN 0x1
#define TAG_BREAK 0x2
#define TAG_NEXT 0x3
@@ -1724,7 +1728,7 @@ call_trace_func(event, file, line, self, id, klass)
self?rb_f_binding(self):Qnil,
klass));
}
- POP_TAG();
+ POP_TMPTAG(); /* do not propagate retval */
POP_FRAME();
rb_thread_critical--;
@@ -4488,7 +4492,7 @@ specific_eval(argc, argv, klass, self)
VALUE *argv;
VALUE klass, self;
{
- char *file = 0;
+ char *file = "(eval)";
int line = 1;
int iter = rb_iterator_p();