>>>>> "Camm" == Camm Maguire <camm at enhanced.com> writes:
Camm> ;; Note: *ASINX* is special: (*ATANX* *ASINX*) NIL
>>
Camm> ^^^^^ This binding had
Camm> an explicit (declare
Camm> (special *ATANX*
Camm> *ASINX*)), so is
Camm> presumably OK.
Camm> ^^^^ This
Camm> binding was
Camm> not a
Camm> pre-existing
Camm> special.
Ah, ok. Now I know how to interpret the results. The note that the
binding was not a pre-existing special is kind of spurious. The code
does
(let ((*asinx* nil))
(declare (special *asinx*))
...)
which is perfectly valid.
Camm> I can collect other stats if helpful, as this was generated with a
Depends on what the stats are. :-)
Camm> Separately, what about this comment in lmdcls.lisp:
Camm> ;;this list should contain all specials required by runtime or more
Camm> ;;than one macsyma file, except for some specials declared in the macro
Camm> ;;files, eg displm
Camm> (declaim
Camm> (special
Camm> $% $%% $%edispflag $%emode $%enumer $%e_to_numlog $%iargs $%piargs
Camm> ...
Camm> Doesn't this mean that all other files with a declare-top special
Camm> should have a declare unspecial at the end?
Don't know. It would certainly be nice if we collected all the
specials in one place, and used the *foo* convention, except for
things like *asinx* which are only used in one file, in certain
functions.
This list is missing VAR, which is a special used in lots of different
files, which are interrelated.
Ray