summaryrefslogtreecommitdiff
path: root/eval_error.ci
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-18 07:44:51 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-18 07:44:51 +0000
commit115a3d21e49a887f615b2b85c3eb4dd11701ab51 (patch)
treef50c0942f11decea605b64558b714075584d897b /eval_error.ci
parent6e0c6ac3be8069e939748b00febcf4411ce905cb (diff)
* eval_error.ci (ruby_error_print): call error_print.
* eval_jump.ci, process.c (rb_exit, rb_f_exit, rb_f_abort): moved. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval_error.ci')
-rw-r--r--eval_error.ci16
1 files changed, 12 insertions, 4 deletions
diff --git a/eval_error.ci b/eval_error.ci
index 2820c92df6..9760bd6022 100644
--- a/eval_error.ci
+++ b/eval_error.ci
@@ -106,10 +106,12 @@ error_print(void)
if (EXEC_TAG())
goto error;
if (NIL_P(errat)) {
- if (rb_sourcefile())
- warn_printf("%s:%d", rb_sourcefile(), rb_sourceline());
+ const char *file = rb_sourcefile();
+ int line = rb_sourceline();
+ if (file)
+ warn_printf("%s:%d", file, line);
else
- warn_printf("%d", rb_sourceline());
+ warn_printf("%d", line);
}
else if (RARRAY_LEN(errat) == 0) {
error_pos();
@@ -155,7 +157,7 @@ error_print(void)
if (RSTRING_PTR(epath)[0] == '#')
epath = 0;
- if (tail = memchr(einfo, '\n', elen)) {
+ if ((tail = memchr(einfo, '\n', elen)) != 0) {
len = tail - einfo;
tail++; /* skip newline */
}
@@ -198,6 +200,12 @@ error_print(void)
}
void
+ruby_error_print(void)
+{
+ error_print();
+}
+
+void
print_undef(VALUE klass, ID id)
{
rb_name_error(id, "undefined method `%s' for %s `%s'",