diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | eval.c | 8 |
2 files changed, 10 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Fri Aug 7 03:22:50 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval.c (rb_exc_raise, rb_exc_fatal): nil is used to reraise. + Fri Aug 7 01:49:41 2009 Akinori MUSHA <knu@iDaemons.org> * ext/digest/sha2/sha2.c: The ULL suffix is not supported by @@ -413,14 +413,18 @@ rb_longjmp(int tag, volatile VALUE mesg) void rb_exc_raise(VALUE mesg) { - mesg = rb_make_exception(1, &mesg); + if (!NIL_P(mesg)) { + mesg = rb_make_exception(1, &mesg); + } rb_longjmp(TAG_RAISE, mesg); } void rb_exc_fatal(VALUE mesg) { - mesg = rb_make_exception(1, &mesg); + if (!NIL_P(mesg)) { + mesg = rb_make_exception(1, &mesg); + } rb_longjmp(TAG_FATAL, mesg); } |