>>>>> "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))))