package "affine"



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.