ruby-changes:5157
From: nobu <ko1@a...>
Date: Tue, 27 May 2008 22:10:59 +0900 (JST)
Subject: [ruby-changes:5157] Ruby:r16652 (trunk): * eval_error.c (error_handle): SystemExit and SignalException throws
nobu 2008-05-27 22:10:46 +0900 (Tue, 27 May 2008) New Revision: 16652 Modified files: trunk/ChangeLog trunk/eval_error.c Log: * eval_error.c (error_handle): SystemExit and SignalException throws TAG_RAISE but not TAG_FATAL. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/eval_error.c?r1=16652&r2=16651&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=16652&r2=16651&diff_format=u Index: ChangeLog =================================================================== --- ChangeLog (revision 16651) +++ ChangeLog (revision 16652) @@ -1,5 +1,8 @@ -Tue May 27 21:53:49 2008 Nobuyoshi Nakada <nobu@r...> +Tue May 27 22:10:44 2008 Nobuyoshi Nakada <nobu@r...> + * eval_error.c (error_handle): SystemExit and SignalException throws + TAG_RAISE but not TAG_FATAL. + * thread.c (rb_thread_execute_interrupts): delay interrupts during raising exceptions. [ruby-dev:34855] Index: eval_error.c =================================================================== --- eval_error.c (revision 16651) +++ eval_error.c (revision 16652) @@ -247,8 +247,7 @@ error_pos(); warn_printf(": unexpected throw\n"); break; - case TAG_RAISE: - case TAG_FATAL: { + case TAG_RAISE: { VALUE errinfo = GET_THREAD()->errinfo; if (rb_obj_is_kind_of(errinfo, rb_eSystemExit)) { status = sysexit_status(errinfo); @@ -261,6 +260,9 @@ } break; } + case TAG_FATAL: + error_print(); + break; default: rb_bug("Unknown longjmp status %d", ex); break; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/