summaryrefslogtreecommitdiffstats
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
commitef4219e20d81471e3e331743c2f0d87955ef9ff8 (patch)
tree935b2ca272e9019fe8a64ec4aaaf81197e593480
parent9dab9285ea14dd4f5d392ed578062874f4dad75a (diff)
downloadruby-ef4219e20d81471e3e331743c2f0d87955ef9ff8.tar.gz
ruby-ef4219e20d81471e3e331743c2f0d87955ef9ff8.tar.xz
ruby-ef4219e20d81471e3e331743c2f0d87955ef9ff8.zip
* eval.c (ruby_cleanup): should not ignore exit_value in END
execution. [ruby-dev:21670] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--eval.c3
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5fbd7ef38..e2c6becdc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Oct 22 02:31:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (ruby_cleanup): should not ignore exit_value in END
+ execution. [ruby-dev:21670]
+
Tue Oct 21 23:16:26 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (ruby_cleanup): call finalizers and exit procs before
diff --git a/eval.c b/eval.c
index 70061e5fb..936eb190d 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);
}