Hi Raymond,
>>>>> "Raymond" == Raymond Toy <raymond.toy at ericsson.com> writes:
Raymond> We no longer compile the files; we just load them. This was changed
Raymond> so that maxima wouldn't need write permission.
I think that if it works only by loading but not with compiling
then that is a bug we should fix.
Raymond> Ok. Because we don't compile the files any more, the eval-when in
Raymond> polysmp.lis is never executed. Adding :execute the the eval-when
Raymond> situations makes your example work.
Raymond> Not sure why there's an eval-when there at all. MUST-REPLACEP was
Raymond> apparently a macro, but it's now commented out, and polysmp.lisp
Raymond> defines MUST-REPLACEP as a function.
Raymond> I guess we need to look at all of the eval-when situations in affine
Raymond> and see if they need to be adjusted since we don't compile the files
Raymond> anymore.
I think it would be better to compile it again.
Raymond> Or modify affine.system so the compiled files go into a place where we
Raymond> *know* we can write. Either /tmp or, maybe. the directory where the
Raymond> user's maxima-init.lisp file would go.
We could e.g. just change the :binary-pathname in the system
definition in affine.system from
(combine-path *maxima-affinedir* (concatenate 'string "binary-" *maxima-lispname*))
to
(combine-path *maxima-tempdir* (concatenate 'string "binary-"*maxima-lispname*))
Then the compiled files would always be in a user-writeable
directory.
Besides that, I think affine really needs an overhaul. For example
it still uses sloop instead of loop. Maybe I find some time over
Christmas to change that :-)
'Andreas
--
ceterum censeo redmondinem esse delendam.