Load behaviour on Maxima 5.18.0 and above using ecl



On Mon, May 18, 2009 at 5:23 PM, Raymond Toy <raymond.toy at stericsson.com> wrote:
> Matthew Gwynne wrote:
>> (%i1) :lisp *autoconf-win32*
>>
>> false
>>
>>
> Ok. ?This all works for me with ecl 8.12. ?What version of ecl? 9.4.1?

Yep, 9.4.1 .

>
> To debug this, take a look at share-subdirs-list in init-cl.lisp. ?I'll
> need to see some of the values of the variables in that function. ?What
> is the value of dir-list, after getting the directory list? ?Perhaps the
> bug is in enough-namestring?

"Dir-List = "
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/misc"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/vector"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/numeric"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/integequations"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/algebra/charsets"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/algebra/solver"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/algebra"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/simplification"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/physics"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/diff_form"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/trigonometry"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/integration"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/dynamics"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/lisp-utils"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/colnew/lisp"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/colnew"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/utils"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/minpack/lisp"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/minpack"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/matrix"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/sym"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/tensor"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/fractals"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/boolsimp"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/stringproc"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/levin"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/rand"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/format"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/numericalio"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/Zeilberger"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/state"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/amatrix"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/sarag"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/pdiff"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/graphs"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/ezunits"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/distrib"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/integration"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/vector3d"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/descriptive"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/bitwise"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/fresnel"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/gf"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/stats"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/fourier_elim"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/mcclim"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/lurkmathml"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/noninteractive"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/solve_rec"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/gentran/man"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/gentran/test"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/gentran"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/namespaces"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/altsimp"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/Grobner"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/finance"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/diffequations/tests"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/diffequations"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/unit"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/prim"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/maximaMathML"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/nset"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/simplex/Tests"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib/simplex"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/contrib"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/linearalgebra"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/lapack/blas"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/lapack/lapack"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/lapack"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/affine"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/diffequations"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/orthopoly"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/calculus"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/macro"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/lbfgs"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/draw"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share/combinatorics"
"/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/maxima/5.18.1/share"
Maxima 5.18.1 http://maxima.sourceforge.net
Using Lisp ECL 9.4.1


with the following code in "init-cl.lisp":

   #+(or clisp ecl)
   (defun share-subdirs-list ()
     ;; This doesn't work yet on windows.  Give up in that case and use
     ;; the default list.
     (print "CLISP/ECL\n")
     (if (string= *autoconf-win32* "true")
         (default-share-subdirs-list)
         (let* ((share-root (pathname (concatenate 'string
*maxima-sharedir* "/")))
            (dir-list (directory (merge-pathnames (make-pathname
:directory '(:relative :wild-inferiors))
                              share-root))))
       ;; dir-list contains all of the directories.  Remove stuff we
       ;; don't want like CVS directories.  Anything else?
       (setf dir-list (delete-if #'(lambda (x)
                         ;; Remove CVS directories
                         (or (equal x share-root)
                         (equal "CVS" (car (last (pathname-directory x))))))
                     dir-list))
       ;; Now just want the part after the *maxima-sharedir*, and we want
       ;; strings.
       (setf dir-list
             (mapcar #'(lambda (x)
                 (let ((dir (make-pathname :directory (butlast
(pathname-directory x))
                               :name (car (last (pathname-directory x))))))
                   (enough-namestring dir share-root)))
                 dir-list))
       (print "Dir-List = ")
       (mapcar #'print  dir-list)
       ;; Sort in alphabetical order
       (sort dir-list #'string-lessp))))


Thanks

Matthew Gwynne



>
> Ray
>
>