summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index cbe1206486..a398479fb2 100644
--- a/eval.c
+++ b/eval.c
@@ -641,6 +641,10 @@ make_exception(int argc, VALUE *argv, int isstr)
if (argc > 2)
set_backtrace(mesg, argv[2]);
}
+ {
+ VALUE cause = get_errinfo();
+ if (!NIL_P(cause)) rb_iv_set(mesg, "cause", cause);
+ }
return mesg;
}