From aa40518b44deb13484a2adb80407b6d7f0e19c16 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 25 Feb 2016 07:22:01 +0000 Subject: [PATCH] eval_error.c: error position format * eval_error.c (error_print): use same error position format when no backtrace too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval_error.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/eval_error.c b/eval_error.c index b21394914d..5d203d69a8 100644 --- a/eval_error.c +++ b/eval_error.c @@ -87,6 +87,7 @@ error_print(void) volatile VALUE eclass = Qundef, e = Qundef; const char *volatile einfo; volatile long elen; + VALUE mesg; if (NIL_P(errinfo)) return; @@ -105,28 +106,13 @@ error_print(void) else { goto no_message; } - if (NIL_P(errat)) { - int line; - const char *file = rb_source_loc(&line); - if (!file) - warn_printf("%d: ", line); - else if (!line) - warn_printf("%s: ", file); - else - warn_printf("%s:%d: ", file, line); - } - else if (RARRAY_LEN(errat) == 0) { + if (NIL_P(errat) || RARRAY_LEN(errat) == 0 || + NIL_P(mesg = RARRAY_AREF(errat, 0))) { error_pos(); } else { - VALUE mesg = RARRAY_AREF(errat, 0); - - if (NIL_P(mesg)) - error_pos(); - else { - warn_print_str(mesg); - warn_print(": "); - } + warn_print_str(mesg); + warn_print(": "); } eclass = CLASS_OF(errinfo);