eval_error.c: colon in message

* eval_error.c (error_pos): include a clone after the position.

* eval_error.c (error_print, error_handle): do not print a colon
  if the error position is unavailable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2016-02-25 04:42:16 +00:00
Родитель 35f40f5347
Коммит 1d58184308
1 изменённых файлов: 15 добавлений и 15 удалений

Просмотреть файл

@ -28,14 +28,15 @@ error_pos(void)
if (sourcefile) { if (sourcefile) {
ID caller_name; ID caller_name;
if (sourceline == 0) { if (sourceline == 0) {
warn_printf("%"PRIsVALUE, sourcefile); warn_printf("%"PRIsVALUE": ", sourcefile);
} }
else if ((caller_name = rb_frame_callee()) != 0) { else if ((caller_name = rb_frame_callee()) != 0) {
warn_printf("%"PRIsVALUE":%d:in `%"PRIsVALUE"'", sourcefile, sourceline, warn_printf("%"PRIsVALUE":%d:in `%"PRIsVALUE"': ",
sourcefile, sourceline,
rb_id2str(caller_name)); rb_id2str(caller_name));
} }
else { else {
warn_printf("%"PRIsVALUE":%d", sourcefile, sourceline); warn_printf("%"PRIsVALUE":%d: ", sourcefile, sourceline);
} }
} }
} }
@ -108,11 +109,11 @@ error_print(void)
int line; int line;
const char *file = rb_source_loc(&line); const char *file = rb_source_loc(&line);
if (!file) if (!file)
warn_printf("%d", line); warn_printf("%d: ", line);
else if (!line) else if (!line)
warn_printf("%s", file); warn_printf("%s: ", file);
else else
warn_printf("%s:%d", file, line); warn_printf("%s:%d: ", file, line);
} }
else if (RARRAY_LEN(errat) == 0) { else if (RARRAY_LEN(errat) == 0) {
error_pos(); error_pos();
@ -124,6 +125,7 @@ error_print(void)
error_pos(); error_pos();
else { else {
warn_print_str(mesg); warn_print_str(mesg);
warn_print(": ");
} }
} }
@ -140,14 +142,13 @@ error_print(void)
elen = 0; elen = 0;
} }
if (eclass == rb_eRuntimeError && elen == 0) { if (eclass == rb_eRuntimeError && elen == 0) {
warn_print(": unhandled exception\n"); warn_print("unhandled exception\n");
} }
else { else {
VALUE epath; VALUE epath;
epath = rb_class_name(eclass); epath = rb_class_name(eclass);
if (elen == 0) { if (elen == 0) {
warn_print(": ");
warn_print_str(epath); warn_print_str(epath);
warn_print("\n"); warn_print("\n");
} }
@ -161,7 +162,6 @@ error_print(void)
len = tail - einfo; len = tail - einfo;
tail++; /* skip newline */ tail++; /* skip newline */
} }
warn_print(": ");
warn_print_str(tail ? rb_str_subseq(e, 0, len) : e); warn_print_str(tail ? rb_str_subseq(e, 0, len) : e);
if (epath) { if (epath) {
warn_print(" ("); warn_print(" (");
@ -282,28 +282,28 @@ error_handle(int ex)
case TAG_RETURN: case TAG_RETURN:
error_pos(); error_pos();
warn_print(": unexpected return\n"); warn_print("unexpected return\n");
break; break;
case TAG_NEXT: case TAG_NEXT:
error_pos(); error_pos();
warn_print(": unexpected next\n"); warn_print("unexpected next\n");
break; break;
case TAG_BREAK: case TAG_BREAK:
error_pos(); error_pos();
warn_print(": unexpected break\n"); warn_print("unexpected break\n");
break; break;
case TAG_REDO: case TAG_REDO:
error_pos(); error_pos();
warn_print(": unexpected redo\n"); warn_print("unexpected redo\n");
break; break;
case TAG_RETRY: case TAG_RETRY:
error_pos(); error_pos();
warn_print(": retry outside of rescue clause\n"); warn_print("retry outside of rescue clause\n");
break; break;
case TAG_THROW: case TAG_THROW:
/* TODO: fix me */ /* TODO: fix me */
error_pos(); error_pos();
warn_printf(": unexpected throw\n"); warn_print("unexpected throw\n");
break; break;
case TAG_RAISE: { case TAG_RAISE: {
VALUE errinfo = GET_THREAD()->errinfo; VALUE errinfo = GET_THREAD()->errinfo;