diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-10-03 01:06:57 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-10-03 01:06:57 +0000 |
commit | ee2ac58e4de6a63cc83bbef13b6a25718f5b8f0f (patch) | |
tree | e15e3b9543425c272ed3cca7357ca14d77a42f75 /eval_error.ci | |
parent | 50c7751b606ac0568e531301149db404717d4717 (diff) |
* ruby.c (ruby_process_options): push frame with program name.
[ruby-core:12351]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval_error.ci')
-rw-r--r-- | eval_error.ci | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/eval_error.ci b/eval_error.ci index 9760bd6022..210dce073d 100644 --- a/eval_error.ci +++ b/eval_error.ci @@ -89,16 +89,17 @@ static void error_print(void) { VALUE errat = Qnil; /* OK */ + VALUE errinfo = GET_THREAD()->errinfo; volatile VALUE eclass, e; char *einfo; long elen; - if (NIL_P(GET_THREAD()->errinfo)) + if (NIL_P(errinfo)) return; PUSH_TAG(); if (EXEC_TAG() == 0) { - errat = get_backtrace(GET_THREAD()->errinfo); + errat = get_backtrace(errinfo); } else { errat = Qnil; @@ -126,9 +127,9 @@ error_print(void) } } - eclass = CLASS_OF(GET_THREAD()->errinfo); + eclass = CLASS_OF(errinfo); if (EXEC_TAG() == 0) { - e = rb_funcall(GET_THREAD()->errinfo, rb_intern("message"), 0, 0); + e = rb_funcall(errinfo, rb_intern("message"), 0, 0); StringValue(e); einfo = RSTRING_PTR(e); elen = RSTRING_LEN(e); |