>>>>> "Michel" == Michel Talon <talon at lpthe.jussieu.fr> writes:
Michel> Hello,
Michel> It seems that package "affine" in maxima 5.17.1 doesn't work at least under
Michel> cmucl (it worked for me under a previous version, perhaps 5.16.0).
Michel> niobe% maxima
Michel> Maxima 5.17.1 http://maxima.sourceforge.net
Michel> Using Lisp CMU Common Lisp Snapshot 2008-02 (19E)
Michel> I have run load(affine) as root in case it would write something, this seems
Michel> to work, i get:
Michel> (%i2) load(affine);
[snip]
We no longer compile the files; we just load them. This was changed
so that maxima wouldn't need write permission.
Michel> But afterwards using it doesn't work, for example:
Michel> (%i5) grobner_basis ([3*x^2+1, y*x]);
Michel> ;
Michel> Maxima encountered a Lisp error:
Michel> Error in KERNEL:%COERCE-TO-FUNCTION: the function MUST-REPLACEP is
Michel> undefined.
Ok. Because we don't compile the files any more, the eval-when in
polysmp.lis is never executed. Adding :execute the the eval-when
situations makes your example work.
Not sure why there's an eval-when there at all. MUST-REPLACEP was
apparently a macro, but it's now commented out, and polysmp.lisp
defines MUST-REPLACEP as a function.
I guess we need to look at all of the eval-when situations in affine
and see if they need to be adjusted since we don't compile the files
anymore.
Or modify affine.system so the compiled files go into a place where we
*know* we can write. Either /tmp or, maybe. the directory where the
user's maxima-init.lisp file would go.
Ray