summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-07-14 04:34:43 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-07-14 04:34:43 +0000
commit6d19b9b4191c86968e547bd121d2472f72150cc2 (patch)
tree60d40807e100f8b5772be49bbe42d85882c3009b /eval.c
parent2e28daaaa31aaebf68ced3cedc1eecb5b5697a0e (diff)
matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_4@832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/eval.c b/eval.c
index 25f2b1c574..53cd2dd21b 100644
--- a/eval.c
+++ b/eval.c
@@ -2099,13 +2099,13 @@ rb_eval(self, node)
result = rb_eval(self, resq->nd_body);
}
POP_TAG();
- if (state == 0) {
- ruby_errinfo = e_info;
- }
- else if (state == TAG_RETRY) {
+ if (state == TAG_RETRY) {
state = 0;
goto retry_entry;
}
+ if (state != TAG_RAISE) {
+ ruby_errinfo = e_info;
+ }
break;
}
resq = resq->nd_head; /* next rescue */