While playing with the testsuite file changes, I noticed there might
be an issue with Lisp strings vs maxima strings (i.e., symbols that
start with '&').
(%i1) file_search_maxima;
(%o1) [/home/unix/eusrtoy/.maxima/###.{mac,mc},
/apps/public/src/toy/maxima-main/share/###.{mac,mc}, /apps/public/src/toy/maxi#
ma-main/share/{affine,algebra,calculus,combinatorics,contrib,contrib/nset,cont#
rib/pdiff,diffequations,graphics,integequations,integration,macro,matrix,misc,#
numeric,physics,simplification,specfunctions,sym,tensor,trigonometry,utils,vec#
tor}/###.{mac,mc}]
Should those be printed out as strings? They're really lisp strings,
not maxima strings.
load(specfun) does the expected thing. But if we start over, and try
to set file_search_maxima to the same thing, we get:
(%i3) file_search_maxima:["/home/unix/eusrtoy/.maxima/###.{mac,mc}",
"/apps/public/src/toy/maxima-main/share/###.{mac,mc}",
"/apps/public/src/toy/maxima-main/share/{affine,algebra,calculus,combinatorics,contrib,contrib/nset,contrib/pdiff,diffequations,graphics,integequations,integration,macro,matrix,misc,numeric,physics,simplification,specfunctions,sym,tensor,trigonometry,utils,vector}/###.{mac,mc}"];
(%o3) [/home/unix/eusrtoy/.maxima/###.{mac,mc},
/apps/public/src/toy/maxima-main/share/###.{mac,mc}, /apps/public/src/toy/maxi#
ma-main/share/{affine,algebra,calculus,combinatorics,contrib,contrib/nset,cont#
rib/pdiff,diffequations,graphics,integequations,integration,macro,matrix,misc,#
numeric,physics,simplification,specfunctions,sym,tensor,trigonometry,utils,vec#
tor}/###.{mac,mc}]
While this %o3 looks the same as %o1, it's actually different:
(%i4) :lisp $%o3
((MLIST SIMP) &/HOME/UNIX/EUSRTOY/.MAXIMA/###.{MAC,MC}
&/APPS/PUBLIC/SRC/TOY/MAXIMA-MAIN/SHARE/###.{MAC,MC}
&/APPS/PUBLIC/SRC/TOY/MAXIMA-MAIN/SHARE/{AFFINE,ALGEBRA,CALCULUS,COMBINATORICS,CONTRIB,CONTRIB/NSET,CONTRIB/PDIFF,DIFFEQUATIONS,GRAPHICS,INTEGEQUATIONS,INTEGRATION,MACRO,MATRIX,MISC,NUMERIC,PHYSICS,SIMPLIFICATION,SPECFUNCTIONS,SYM,TENSOR,TRIGONOMETRY,UTILS,VECTOR}/###.{MAC,MC})
And in fact it works differently:
(%i5) load(specfun);
Could not find `specfun' using paths in file_search_maxima,file_search_lisp ....
So 2 questions here:
1) Should maxima strings be printed out as strings? It seems they
should be.
2) Is it allowed for the user to change file_search_maxima (and
friends)? If so, it seems broken.
Ray
BTW, I ran these tests using a CVS version of maxima on cmucl 2005-04,
in case that matters.