Small CS bug



>>>>> "James" == James Amundson <amundson@users.sourceforge.net> writes:


    James> The primary source of confusion here is the difference between Lisp
    James> strings and Maxima "strings." When I enter 
    James> 	foo:"bar";
    James> in Maxima, the value of $FOO becomes &BAR in Lisp. When I enter
    James> 	(setf $foo "bar")
    James> in Lisp, the value of $FOO becomes "bar". 

Yes, I believe that's right.

    James> It seems to me that the consistent way to treat the case of strings is
    James> to require that they always be appropriate for their context, i.e.,
    James> case-preserved strings in Lisp, case-inverted strings in Maxima. By that
    James> argument merror, which is a lisp function, would continue to take a
    James> string argument (sstring) with unmodified case, but the line where that
    James> string becomes part of a maxima expression,
    James> 	(setq $error `((mlist) ,sstring ,@ l))
    James> would be modified to invert the case of sstring.

    James> How does that sound?

Actually, that was my first attempt at fixing that particular example.
However it's a bit tricky.  If the string contains maxima format
specifiers like ~M, it seems it must be upper case.  We can probably
fix that.

In addition, in $errormsg and friends, maxima pulls apart the string
and then calls maknam on various parts of it which is then intern'ed.
This makes it somewhat hard to tell if the string should be upcased,
downcased, or what.  I haven't figured out how it knows what parts of
the string to pull apart.

I only fixed the maknam issue.

I've been looking at other merror messages.  They seem to be ok, but
there are sooo many and I've only looked at a few.

Ray