[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]