From: Brian Candler Date: 2003-07-03T19:00:21+09:00 Subject: Re: More error backtrace On Thu, Jul 03, 2003 at 08:39:26AM +0900, Hal E. Fulton wrote: > > Just curious, what's the rationale for truncating it? > > I always assumed it was to save space. Does it > do it when the levels are unique? No, at least not in 1.6.8: #define TRACE_MAX (TRACE_HEAD+TRACE_TAIL+5) #define TRACE_HEAD 8 #define TRACE_TAIL 5 ep = RARRAY(errat); for (i=1; ilen; i++) { if (TYPE(ep->ptr[i]) == T_STRING) { fprintf(stderr, "\tfrom %s\n", RSTRING(ep->ptr[i])->ptr); } if (i == TRACE_HEAD && ep->len > TRACE_MAX) { fprintf(stderr, "\t ... %ld levels...\n", ep->len - TRACE_HEAD - TRACE_TAIL); i = ep->len - TRACE_TAIL; } } } } i.e. it shows just the first 8 lines and the last 5 lines. Cheers, Brian.