About the MathML packages



On 7/18/07, fwsmail35 <fwsmail35 at aol.com> wrote:

> (%i1) load("load-mathml.lisp")$
> (%i2) mathml();
> Maxima encountered a Lisp error:
> EVAL: undefined function IMEMBER

IMEMBER was a macro which only punts to MEMBER:

(defmacro imember (x l) `(member ,x ,l))

There are two appearances of IMEMBER in the maximaMathML code.
You can grep for them and just change IMEMBER to MEMBER.
I'll commit the change to CVS.

It appears that maximaMathML doesn't know what to do with
Lisp strings. So load("load-mathml"); triggers an error because
load returns a Lisp string, but load("load-mathml")$ is OK.
I guess that's a bug.

HTH
Robert Dodier

PS. Here is a diff.
--- share/contrib/maximaMathML/mathml-maxima.lisp       27 Mar 2007
19:27:14 -0000      1.4
+++ share/contrib/maximaMathML/mathml-maxima.lisp       18 Jul 2007
13:38:32 -0000
@@ -178,7 +178,7 @@
 ;; returns next non-white non #\> char (or -1?)
 (DEFUN next-char ()
 (DO (c) (NIL)      ; Gobble whitespace
-    (IF (IMEMBER (setq c (TYI *in* -1))
+    (IF (MEMBER (setq c (TYI *in* -1))
            '(#\> #\TAB #\SPACE #\Linefeed #\return #\Page))
         nil
         (RETURN c)
@@ -214,7 +214,7 @@
   (DO ((C (TYI *in* -1) (TYI *in* -1))
        (L () (CONS C L)))
       ( (or (equal c -1) (and endc (char= C endc))
-           (imember c '(#\< #\> #\TAB #\SPACE #\Linefeed #\return #\Page))
+           (member c '(#\< #\> #\TAB #\SPACE #\Linefeed #\return #\Page))
         )
         (NREVERSE (OR L (NCONS (TYI *in* -1))))
       ) ; Read at least one char ...