Lisp strings vs maxima strings?



Raymond Toy  writes:

> 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 '&').
[...]
> 2) Is it allowed for the user to change file_search_maxima (and
>    friends)?  If so, it seems broken.

I think the following patch is sufficient.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~cut~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Index: mload.lisp
===================================================================
RCS file: /cvsroot/maxima/maxima/src/mload.lisp,v
retrieving revision 1.26
diff -u -r1.26 mload.lisp
--- mload.lisp	13 Apr 2005 00:58:51 -0000	1.26
+++ mload.lisp	20 Apr 2005 11:09:47 -0000
@@ -351,13 +351,10 @@
       (let* ((system-object
 	      (cond ((and (atom user-object) (not (symbolp user-object)))
 		     user-object)
-		    ((and (symbolp user-object)
-			  (eql #\$ (getcharn user-object 1)))
-		     (string-downcase (fullstrip1 user-object)))
 		    ;; The following clause takes care of |&Foo|,
 		    ;; which comes from the Maxima string "Foo".
 		    ((atom user-object)	;hence a symbol in view of the
-		     (string (fullstrip1 user-object))) ; first clause
+		     (print-invert-case (fullstrip1 user-object))) ; first clause
 		    (($listp user-object)
 		     (fullstrip (cdr user-object)))
 		    (t
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~cut~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Wolfgang