format is broken; question about tracing



Hello,

I've noticed that contrib/format is broken in between 5.12.0 and 5.13.0.

Below there is also a question about tracing of functions.

On Windows 2000:

(%i1) build_info();
Maxima version: 5.12.0
Maxima build date: 19:33 5/3/2007
host type: i686-pc-mingw32
lisp-implementation-type: GNU Common Lisp (GCL)
lisp-implementation-version: GCL 2.6.8

(%o1) 
(%i2) veq: [x,y] = [a,b]+t*[c,d];
(%o2)             [x, y] = [c t + a, d t + b]
(%i3) load("coeflist.lisp")$
(%i4) load("format.lisp")$
(%i5) sys: format(veq, %list);
(%o5)              [x = c t + a, y = d t + b]



(%i1) build_info();
Maxima version: 5.13.0
Maxima build date: 10:46 8/26/2007
host type: i686-pc-mingw32
lisp-implementation-type: GNU Common Lisp (GCL)
lisp-implementation-version: GCL 2.6.8

(%o1) 
(%i2) veq: [x,y] = [a,b]+t*[c,d];
(%o2)                     [x, y] = [c t + a, d t + b]
(%i3) load("coeflist.lisp")$
(%i4) load("format.lisp")$
(%i5) sys: format(veq, %list);
Maxima encountered a Lisp error:

 Error in MAP1 [or a callee]: Caught fatal error [memory may be damaged]

Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.


**********

coeflist.lisp is the same in both versions and format.lisp differs only in one line, which I have 
checked is not responsible for the error.

I played around with tracing some functions to see where the error comes from and I 
observed in 5.13.0

(%i24) trace(format_piece)$
(%i26) sys: format(veq, %list);
1 Enter format_piece [x = c t + a]
1 Exit  format_piece x = c t + a
1 Enter format_piece [y = d t + b]
1 Exit  format_piece y = d t + b
(%o26)             [x = c t + a, y = d t + b]

(untracing causes the error again.)

That means if I trace format_piece format works as intended !! ??
So what is the effect of tracing on functions that they behave differently?

Any ideas and help welcome
(I am not looking for a hack for my task of converting a vector equation into a linear 
system.)

Volker van Nek