diff options
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -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); } |