From a78c733cc32cc3da3796cbf65da21cdd40c63230 Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Fri, 23 Sep 2022 16:40:59 +0900 Subject: Revert "Revert "error.c: Let Exception#inspect inspect its message"" This reverts commit b9f030954a8a1572032f3548b39c5b8ac35792ce. [Bug #18170] --- error.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'error.c') diff --git a/error.c b/error.c index 113264eeb7..cfa086a1eb 100644 --- a/error.c +++ b/error.c @@ -34,6 +34,7 @@ #include "internal/io.h" #include "internal/load.h" #include "internal/object.h" +#include "internal/string.h" #include "internal/symbol.h" #include "internal/thread.h" #include "internal/variable.h" @@ -1439,8 +1440,15 @@ exc_inspect(VALUE exc) str = rb_str_buf_new2("#<"); klass = rb_class_name(klass); rb_str_buf_append(str, klass); - rb_str_buf_cat(str, ": ", 2); - rb_str_buf_append(str, exc); + + if (RTEST(rb_str_include(exc, rb_str_new2("\n")))) { + rb_str_catf(str, ":%+"PRIsVALUE, exc); + } + else { + rb_str_buf_cat(str, ": ", 2); + rb_str_buf_append(str, exc); + } + rb_str_buf_cat(str, ">", 1); return str; -- cgit v1.2.1