summaryrefslogtreecommitdiff
path: root/eval_error.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-27 13:10:46 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-27 13:10:46 +0000
commit1cdd1249e82ef4870fd60f5e46cbf639a36cf771 (patch)
treecbce7189579d51eec45af528b36632cb365155b9 /eval_error.c
parentbcb57421cb140e708a78911ddf4cd553d6b60d52 (diff)
* eval_error.c (error_handle): SystemExit and SignalException throws
TAG_RAISE but not TAG_FATAL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval_error.c')
-rw-r--r--eval_error.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/eval_error.c b/eval_error.c
index aae7655..d22b865 100644
--- a/eval_error.c
+++ b/eval_error.c
@@ -247,8 +247,7 @@ error_handle(int ex)
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 @@ error_handle(int ex)
}
break;
}
+ case TAG_FATAL:
+ error_print();
+ break;
default:
rb_bug("Unknown longjmp status %d", ex);
break;