A couple of bugs?



>>>>> "Raymond" == Raymond Toy <raymond.toy at ericsson.com> writes:

>>>>> "Vadim" == Vadim V Zhytnikov <vvzhy at mail.ru> writes:
    Vadim> Raymond Toy writes:
    Vadim> Fixed.  All formatting operators in merror must be in UC
    Vadim> `taylor'~A~%~%~M
    >>> Shouldn't we make it work with lowercase operators?
    >>> 

    Vadim> If make them case insensitive then yes.
    Vadim> Right now almost all formatting operators
    Vadim> in Maxima code are UC.

    Raymond> I just have certain expectations because Lisp's format operators are
    Raymond> case-insensitive.  But that doesn't mean Maxima's should be, but I
    Raymond> would certainly like it that way.

FWIW, here is a patch that makes the operators case-insensitive.  If
you try this patch, be sure to recompile everything since the change
is to a macro.  (We should probably update the dependencies so that
when this file is changed, other files get recompiled.)

Ray

===================================================================
RCS file: /cvsroot/maxima/maxima/src/mforma.lisp,v
retrieving revision 1.8
diff -u -r1.8 mforma.lisp
--- src/mforma.lisp	18 Mar 2006 05:26:05 -0000	1.8
+++ src/mforma.lisp	20 Jul 2006 18:44:00 -0000
@@ -142,10 +142,10 @@
 (defmacro mformat-dispatch-on-char (type)
   `(progn (cond ,@(mapcar #'(lambda (pair)
 			      `(,(if (atom (car pair))
-				     `(char= char ,(car pair))
+				     `(char-equal char ,(car pair))
 				     `(or-1 ,@(mapcar
 					       #'(lambda (c)
-						   `(char= char,c))
+						   `(char-equal char,c))
 					       (car pair))))
 				,@(cdr pair)))
 			  (get type 'mformat-ops))
@@ -252,7 +252,7 @@
 (def-mformat-op-c (#\A #\S)
     (cond (want-open-compiled-mformat
 	   (push-text-temp-c)
-	   (emitc `(,(if (char= char #\A) 'princ 'prin1)
+	   (emitc `(,(if (char-equal char #\A) 'princ 'prin1)
 		    ,(pop-mformat-arg)
 		    ,stream)))
 	  (t (pop-mformat-arg))))