summaryrefslogtreecommitdiff
path: root/eval_error.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-02-25 07:22:01 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-02-25 07:22:01 +0000
commitaa40518b44deb13484a2adb80407b6d7f0e19c16 (patch)
treedfb21670e4daf37418beb65b70ea228b76a5a254 /eval_error.c
parent06751e43a3acf727a76f1de38a9b42d85ec5917b (diff)
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
Diffstat (limited to 'eval_error.c')
-rw-r--r--eval_error.c24
1 files 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);