This is another grab bag of fixes and extensions.
Despite some fixes in signal handling, shere are still serious signal
handling reliability problems. I'll try to focus more on that problem
in the next release.
(I plan to make another announcement in a day or two, with more
information about plans and priorities for upcoming releases.)
from the NEWS file of 0.6.8:
changes in sbcl-0.6.8 relative to sbcl-0.6.7:
* The system is now under CVS at SourceForge (instead of the
CVS repository on my home machine).
* The new signal handling code has been tweaked to treat register
contents as (UNSIGNED-BYTE 32), as the old CMU CL code did,
instead of (SIGNED-BYTE 32), as the C header files have it. (Code
downstream, e.g. in debug-int.lisp, has implicit dependencies
on the unsignedness of integer representation of machine words,
and that caused the system to bomb out with infinite regress
when trying to recover from type errors involving signed values,
e.g. (BUTLAST '(1 2 3) -1).)
* (BUTLAST NIL) and (NBUTLAST NIL) now return NIL as they should.
(This was one of the bugs Peter Van Eynde reported back in July.)
* The system now uses code inspired by Colin Walters' O(N)
implementation of MAP (from the cmucl-imp@... mailing
list, 2 September 2000) when it can't use a DEFTRANSFORM to
inline the MAP operation, and there is more than one
sequence argument to the MAP call (so that it can't just
do ETYPECASE once and for all based on the type of the
single sequence argument). (The old non-inline implementation
of the general M-argument sequence-of-length-N case required
O(M*N*N) time when any of the sequence arguments were LISTs.)
* The QUIT :UNIX-CODE keyword argument has been renamed to
QUIT :UNIX-STATUS. (The old name still works, but is deprecated.)
* Raymond Wiker's patches to port RUN-PROGRAM from CMU CL to SBCL
have been added.
* Raymond Wiker's patches to port dynamic loading from Linux to
FreeBSD have been added.
* The BUGS file is now more nearly up to date, thanks in large part
to Martin Atzmueller's review of it.
* The debugger now flushes standard output streams before it begins
its output ("debugger invoked" and so forth).
* The core version number and fasl file version number have both
been incremented, because of incompatible changes in the layout
of static symbols.
* FINISH-OUTPUT is now called more consistently on QUIT. (It
used to not be called for a saved Lisp image.)
* Martin Atzmueller's version of a patch to fix a compiler crash,
as posted on sbcl-devel 13 September 2000, has been installed.
* Instead of installing Martin Atzmueller's patch for the
compiler transform for SUBSEQ, I deleted the compiler transform,
and transforms for some similar consing operations.
* A bug in signal handling which kept TRACE from working on OpenBSD
has been fixed.
* added enough DEFTRANSFORMs to allow (SXHASH 'FOO) to be optimized
away by constant folding
* The system now defines its address space constants in one place
(in the Lisp sources), and propagates them automatically elsewhere
(through GENESIS and the sbcl.h file). Therefore, patching the
address map is less unnecessarily tedious and error-prone. The
Lisp names of address space constants have also been systematized.
* CVS tags like dollar-Header-dollar have been removed from
the sources, because they have never saved me trouble and
they've been source of trouble working with patches and other
* fixed the PROG1-vs.-PROGN bug in HANDLER-BIND (reported by
ole.rohne@... on cmucl-help@... 2000-10-25)
William Harold Newman <william.newman@...>
PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C