Maxima release



Raymond Toy <toy@rtp.ericsson.se> writes:

[...]

> Unfortunately, I have no idea where |$for| gets it's property set.
> 
> However, adding the following bit of code to nparse.lisp to set the
> upcase property of some symbols seems to fix the problem:

[...]

> I do not know if this is the right solution or if it causes other
> problems, but it does take care of the immediate problem.

I don't think we should explicitly set the UPCASE property.

A fresh Maxima session shows the following things:

[1]> (in-package "MAXIMA")
#<PACKAGE MAXIMA>
MAXIMA[2]> (find-symbol "$FOR")
$FOR ;
:INTERNAL
MAXIMA[3]> (find-symbol "$for")
NIL ;
NIL
MAXIMA[4]> (find-symbol "$DO")
$DO ;
:INTERNAL
MAXIMA[5]> (find-symbol "$do")
NIL ;
NIL
MAXIMA[6]> (find-symbol "$IN")
$IN ;
:INTERNAL
MAXIMA[7]> (find-symbol "$in")
|$in| ;
:INTERNAL

Note that $in behaves differently from $for and $do.  This suggests to try 

MAXIMA[8]> (unintern '|$in|)
T

We get, e.g.,

MAXIMA[9]> (run)
Maxima 5.9.0pre-cvs (with enhancements by W. Schelter).
Licensed under the GNU Public License (see file COPYING)
(C1) for f in [log, rho, atan] do ldisp(f(1))$
(E1) 				       0

(E2) 				    RHO(1)

				      %PI
(E3) 				      ---
				       4

and the UPCASE property is as it should be

(C3) :lisp(symbol-plist '|$for|)
(UPCASE $FOR)
(C3) :lisp(symbol-plist '|$do|)
(UPCASE $DO)
(C3) :lisp(symbol-plist '|$in|)
(UPCASE $IN)

This suggests to find out where (and why) in the maxima sources |$in|
is interned, in the first place.

By the way, the whole issue is just an application of what Yasuaki
Honda explained so nicely in his message dated 15 Mar 2002.

Wolfgang 
-- 
wjenkner@inode.at