ruby-changes:4668
From: ko1@a...
Date: Wed, 23 Apr 2008 00:45:00 +0900 (JST)
Subject: [ruby-changes:4668] akr - Ruby:r16162 (ruby_1_8): * eval.c (error_print): show full stack grace except SystemStackError.
akr 2008-04-23 00:44:40 +0900 (Wed, 23 Apr 2008) New Revision: 16162 Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/eval.c Log: * eval.c (error_print): show full stack grace except SystemStackError. backport from 1.9. [ruby-dev:31014] http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=16162&r2=16161&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/eval.c?r1=16162&r2=16161&diff_format=u Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 16161) +++ ruby_1_8/ChangeLog (revision 16162) @@ -1,3 +1,8 @@ +Wed Apr 23 00:42:49 2008 Tanaka Akira <akr@f...> + + * eval.c (error_print): show full stack grace except SystemStackError. + backport from 1.9. [ruby-dev:31014] + Wed Apr 23 00:18:45 2008 Kazuhiro NISHIYAMA <zn@m...> * test/ruby/test_symbol.rb (TestSymbol#test_to_proc): Improve Index: ruby_1_8/eval.c =================================================================== --- ruby_1_8/eval.c (revision 16161) +++ ruby_1_8/eval.c (revision 16162) @@ -1307,6 +1307,7 @@ if (!NIL_P(errat)) { long i; struct RArray *ep = RARRAY(errat); + int truncate = eclass == rb_eSysStackError; #define TRACE_MAX (TRACE_HEAD+TRACE_TAIL+5) #define TRACE_HEAD 8 @@ -1317,7 +1318,7 @@ if (TYPE(ep->ptr[i]) == T_STRING) { warn_printf("\tfrom %s\n", RSTRING(ep->ptr[i])->ptr); } - if (i == TRACE_HEAD && ep->len > TRACE_MAX) { + if (truncate && i == TRACE_HEAD && ep->len > TRACE_MAX) { warn_printf("\t ... %ld levels...\n", ep->len - TRACE_HEAD - TRACE_TAIL); i = ep->len - TRACE_TAIL; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/