* eval_error.h (error_print): show full stacktrace on
non-SystemStackError. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
9a7a11564c
commit
f8e1e5389f
@ -1,3 +1,8 @@
|
|||||||
|
Wed Jun 20 08:27:57 2007 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
|
* eval_error.h (error_print): show full stacktrace on
|
||||||
|
non-SystemStackError.
|
||||||
|
|
||||||
Wed Jun 20 04:45:39 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Wed Jun 20 04:45:39 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* parse.y (rb_intern2): use rb_intern2 to intern without trailing
|
* parse.y (rb_intern2): use rb_intern2 to intern without trailing
|
||||||
|
@ -155,6 +155,7 @@ error_print(void)
|
|||||||
long i;
|
long i;
|
||||||
long len = RARRAY_LEN(errat);
|
long len = RARRAY_LEN(errat);
|
||||||
VALUE *ptr = RARRAY_PTR(errat);
|
VALUE *ptr = RARRAY_PTR(errat);
|
||||||
|
int skip = eclass == rb_eSysStackError;
|
||||||
|
|
||||||
#define TRACE_MAX (TRACE_HEAD+TRACE_TAIL+5)
|
#define TRACE_MAX (TRACE_HEAD+TRACE_TAIL+5)
|
||||||
#define TRACE_HEAD 8
|
#define TRACE_HEAD 8
|
||||||
@ -164,7 +165,7 @@ error_print(void)
|
|||||||
if (TYPE(ptr[i]) == T_STRING) {
|
if (TYPE(ptr[i]) == T_STRING) {
|
||||||
warn_printf("\tfrom %s\n", RSTRING_PTR(ptr[i]));
|
warn_printf("\tfrom %s\n", RSTRING_PTR(ptr[i]));
|
||||||
}
|
}
|
||||||
if (i == TRACE_HEAD && len > TRACE_MAX) {
|
if (skip && i == TRACE_HEAD && len > TRACE_MAX) {
|
||||||
warn_printf("\t ... %ld levels...\n",
|
warn_printf("\t ... %ld levels...\n",
|
||||||
len - TRACE_HEAD - TRACE_TAIL);
|
len - TRACE_HEAD - TRACE_TAIL);
|
||||||
i = len - TRACE_TAIL;
|
i = len - TRACE_TAIL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user