SBCL support



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

> I've attached a patch that clears up most of the issues that CVS sbcl
> has with Maxima.  I believe that none of these issues would have been
> a problem in the normal mode of building the system; here I've used a
> compilation regime that treats the failurep return value from
> compile-file as a serious problem, and it seems to have caught some
> things.

Thank you very much! Unfortunately it seems that also the usual mode
of building the system is broken with the recent SBCL 0.8.1.28 (Linux
i686).  Compiling commac.lisp (which precedes in maxima.system any of
the files concerned by your patches) gives

; compiling DEFUN *ARRAY: 

debugger invoked on condition of type SB-INT:BUG:
    failed AVER: "(NOT (BLOCK-DELETE-P BLOCK))"
  This is probably a bug in SBCL itself.
[...]

(There is no problem with compiling *ARRAY separately.)

On the other hand, the current CVS Maxima (with R. Toy's new
MACLISP-TYPEP) can still be compiled with SBCL 0.7.12.52 and it passes
the test suite.

> is there a lisp-level function I can call, or a file to load, that
> simply runs the test suite?

I think the canonical way of running a single file of the test suite
uses the (undocumented) second argument of $BATCH, like this.

(C1) batch("/home/wolfgang/maxima/tests/rtest15.mac",'TEST);

Error log on 
#<OUTPUT BUFFERED FILE-STREAM CHARACTER
  /home/wolfgang/maxima/tests/rtest15.ERR>
/* ********************** Problem 1. *************** */ 
%Input is
KILL(ALL)


The result is
DONE

..Which was correct

*** output flushed ***

The number of differences found was 1 in problems: (4)
(D0) 		 [/home/wolfgang/maxima/tests/rtest15.mac, 4]

(`TEST' has really to be typed all upper case: The MAXIMA package has
no internal symbol $TEST and in such cases the Maxima level `test'
gives the lisp level |$test|, which is not expected by $batch.  But I
digress, and this behaviour might be changed, anyway.)

Wolfgang