summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--eval.c3
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5fbd7ef384..e2c6becdc5 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 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);
}