segmentation fault with Maxima/ECL



On 9/13/08, Oliver Kullmann <O.Kullmann at swansea.ac.uk> wrote:

>  batching /home/csoliver/SAT-Algorithmen/OKplatform/Unless.mac
>  (%i2)
>
> *** - CAR: $FOUND is not a list

>  <11/260> #<SYSTEM-FUNCTION CAR>
>  <12/253> #<COMPILED-FUNCTION STRMDOIN>
>  <13/244> #<COMPILED-FUNCTION MSZ-MDOIN>
>  <14/227> #<COMPILED-FUNCTION MSIZE>
>  <15/215> #<COMPILED-FUNCTION MSZ-MDEF>
>  <16/198> #<COMPILED-FUNCTION MSIZE>
>  <17/189> #<COMPILED-FUNCTION LINEAR-DISPLA>
>  <18/184> #<COMPILED-FUNCTION DISPLA>

Terrific -- looks like it is a bug in the 1-d display.
I can trigger the bug by display2d:false; batch("Unless.mac");
consistently. (I guess you have display2d:false somewhere;
otherwise the 1-d display code is not executed.)

Another way to trigger it is:
fun(found) := for x in [1, 2, 3] unless found do print(x);
grind(%);

STRMDOIN assumes the unless/while condition is a nonatomic
expression (e.g. a < b) but "found" is an atom.
Should be easy to fix.

Robert Dodier