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/