grind.lisp (was: SBCL support)



Christophe Rhodes <csr21@cam.ac.uk> writes:

> this one is in src/grind.lisp:
> 
> (declare-top (GENPREFIX GRI)
>          (SPECIAL LOP ROP STRING CHRPS $ALIASES ALIASLIST LINEL)
>          (FIXNUM (CHRCT))
>          (*EXPR LBP RBP))
> 
> Declaring STRING to be globally special is a no-no according to the
> ANSI specification (CLHS 11.1.2.1.2 point 10), and in this case causes
> SBCL to say (some time later, while compiling DEFUN TEX-STRIPDOLLAR)
> 
> debugger invoked on condition of type SB-INT:BUG:

Thanks for reporting this bug.  Grepping through the sources leaves me
with the impression that occurrences of STRING (as variable) in other
files (should) refer to lexical bindings.  So I think renaming STRING
in grind.lisp is sufficient.

Interestingly, the mspec $grind itself is broken (while, e.g.,
string(...),grind:true; does work), but this is easily fixed.

So I plan to check in 

http://members.inode.at/wjenkner/maxima/grindfix.diff

in a few days after some more testing (well, mostly waiting for bad
things to happen, I guess ;-) In any case, with these changes applied,
Maxima on SBCL 0.8.1.35 and CVS clisp still passes the test suite.

Wolfgang