まつもと ゆきひろです

In message "[ruby-dev:21670] Re: [ruby-cvs] ruby: * eval.c (ruby_cleanup): call finalizers and exit procs before"
    on 03/10/22, nobu.nakada / nifty.ne.jp <nobu.nakada / nifty.ne.jp> writes:

|>     * eval.c (ruby_cleanup): preserve ruby_errinfo before ruby_finalize_0().
|
|END{}の中でのexitの引数が無視されるようになっています。

確かに。ありがとうございます。好みの問題で違うパッチを作りま
した。

--- eval.c	21 Oct 2003 14:42:12 -0000	1.571
+++ eval.c	21 Oct 2003 17:32:50 -0000
@@ -1350,2 +1350,3 @@ ruby_cleanup(ex)
     ruby_finalize_0();
+    if (ruby_errinfo) err = ruby_errinfo;
     PUSH_TAG(PROT_NONE);
@@ -3915,4 +3916,2 @@ rb_longjmp(tag, mesg)
     if (thread_set_raised()) {
-	printf("%d (c:%p m:%p):", tag, curr_thread, main_thread);
-	rb_p(mesg);
 	ruby_errinfo = exception_error;