aboutsummaryrefslogtreecommitdiffstats
path: root/eval_error.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval_error.c')
-rw-r--r--eval_error.c21
1 files changed, 2 insertions, 19 deletions
diff --git a/eval_error.c b/eval_error.c
index cfb82d3a24..c469474159 100644
--- a/eval_error.c
+++ b/eval_error.c
@@ -49,23 +49,6 @@ error_pos_str(void)
return Qnil;
}
-static VALUE
-get_backtrace(VALUE info)
-{
- if (NIL_P(info))
- return Qnil;
- info = rb_funcall(info, rb_intern("backtrace"), 0);
- if (NIL_P(info))
- return Qnil;
- return rb_check_backtrace(info);
-}
-
-VALUE
-rb_get_backtrace(VALUE info)
-{
- return get_backtrace(info);
-}
-
static void
set_backtrace(VALUE info, VALUE bt)
{
@@ -80,7 +63,7 @@ set_backtrace(VALUE info, VALUE bt)
bt = rb_backtrace_to_str_ary(bt);
}
}
- rb_funcall(info, rb_intern("set_backtrace"), 1, bt);
+ rb_check_funcall(info, set_backtrace, 1, &bt);
}
static void
@@ -105,7 +88,7 @@ rb_threadptr_error_print(rb_thread_t *th, VALUE errinfo)
TH_PUSH_TAG(th);
if (TH_EXEC_TAG() == 0) {
- errat = get_backtrace(errinfo);
+ errat = rb_get_backtrace(errinfo);
}
else if (errat == Qundef) {
errat = Qnil;