On Wed, Jan 6, 2010 at 5:21 PM, Edwin Woollett <woollett at charter.net> wrote:
> (%i6) remha1( [v] ) := block ([jj],
> ? ? ? ?for jj thru length (v) do remarray (v[jj]))$
> (%i7) remha1 (p1);
> Maxima encountered a Lisp error:
>
> ?Error in PROGN [or a callee]: Caught fatal error [memory may be damaged]
This is a bug; remarray should ensure that its argument
is a symbol before proceeding.
The variations of kill and remarray which you showed don't
work because those functions quote their arguments;
the variations apply(kill, ...) and apply(remarray, ...) work
because then the arguments are evaluated.
Hope this helps
Robert Dodier