summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-10-21 17:38:37 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-10-21 17:38:37 +0000
commit903f98a643e2277f7c15e03e774fd1d67813c9bb (patch)
tree935b2ca272e9019fe8a64ec4aaaf81197e593480 /eval.c
parentd0244508c2eda37dbe403261cb1f3a202e6ffaf3 (diff)
* eval.c (ruby_cleanup): should not ignore exit_value in END
execution. [ruby-dev:21670] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index 70061e5fb9..936eb190db 100644
--- a/eval.c
+++ b/eval.c
@@ -1348,6 +1348,7 @@ ruby_cleanup(ex)
ruby_safe_level = 0;
ruby_finalize_0();
+ if (ruby_errinfo) err = ruby_errinfo;
PUSH_TAG(PROT_NONE);
PUSH_ITER(ITER_NOT);
if ((state = EXEC_TAG()) == 0) {
@@ -3913,8 +3914,6 @@ rb_longjmp(tag, mesg)
VALUE at;
if (thread_set_raised()) {
- printf("%d (c:%p m:%p):", tag, curr_thread, main_thread);
- rb_p(mesg);
ruby_errinfo = exception_error;
JUMP_TAG(TAG_FATAL);
}