On 1/21/09, Raymond Toy <raymond.toy at ericsson.com> wrote:
> (%i1) load(minpack);
> (%o1) /apps/public/src/toy/maxima-colnew/share/minpack/minpack.mac
> (%i2) minpack_lsquares([10*(x[1]-x[2]^2),1-x[2]],[x[1],x[2]],[-1.2,-1]);
>
> put: atom must be a symbol or a string:
> 'linearalgebra
> -- an error. To debug this try debugmode(true);
Ray, MFUNCALL eventually calls MAPPLY1 which binds the special
variable NOEVALARGS to T, which prevents evaluation of the
arguments of "put" in linearalgebra.mac, so the single quotes (MQUOTE)
are not stripped off 'linearalgebra and 'version, so those arguments are
not atoms, they're MQUOTE expressions.
That place in MAPPLY1 seems to be the only place NOEVALARGS is
bound to anything other than NIL. It has been there since r1.1 src/mlisp.lisp
in cvs.
The presence of (LET ((NOEVALARGS T)) ...) makes autoloaded
stuff behave differently from stuff loaded explicitly --- that to me
is an argument for cutting it out.
FWIW
Robert