Load behaviour on Maxima 5.18.0 and above using ecl
Subject: Load behaviour on Maxima 5.18.0 and above using ecl
From: Matthew Gwynne
Date: Wed, 20 May 2009 12:14:39 +0100
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
>
>