sbcl-0.8.11 has been released.
from the NEWS file in the distribution:
changes in sbcl-0.8.11 relative to sbcl-0.8.10:
* minor incompatible change: the sb-grovel contrib now treats C
structures as alien (in the sense of SB-ALIEN) objects rather than
as undistinguished (simple-array (unsigned-byte 8) (*))s. This
has implications for memory management of client code
(sb-grovel-returned objects must now be manually managed) and for
type safety (alien objects now have full types).
* new feature: the SB-EXT:MUFFLE-CONDITIONS declaration should be
used to control emission of compiler diagnostics, rather than the
SB-EXT:INHIBIT-WARNINGS OPTIMIZE quality. See the manual for
documentation on this feature. The SB-EXT:INHIBIT-WARNINGS
quality should be considered deprecated.
* install.sh now installs the user manual as well
* (not quite a new documentable feature, but worth considering in
the light of the new SB-EXT:MUFFLE-CONDITIONS declaration): the
beginnings of a semantically meaningful condition hierarchy is
under development, for use in SB-EXT:MUFFLE-CONDITIONS and by
IDEs.
* fixed bug: PARSE-NAMESTRING now accepts any valid pathaname
designator as the defaults argument.
* fixed bug: Displaced arrays whose displaced-to array has become
too small now cause ARRAY-DIMENSION to signal an error, providing
for safer bounds-checking. (reported by Bruno Haible)
* fixed bug: DEFCLASS slot definitions with identical :READER and
:WRITER names now signal a reasonable error. (reported by Thomas
Burdick)
* fixed bug: CLOSE :ABORT T on appending stream no longer causes
file deletion.
* fixed bug: Invalid slot specification errors now print correctly.
(thanks to Zach Beane)
* fixed bug 320: Shared to local slot value transfers in class
redefinitions now happen corrently from superclasses as
well. (reported by Bruno Haible)
* fixed bug 316: SHIFTF now accepts VALUES forms. (reported by Bruno
Haible)
* fixed bug 322: DEFSTRUCT :TYPE LIST type predicates now handle
improper lists correctly. (reported by Bruno Haible)
* fixed bug 313: source-transform for <fun-name> was erroneously
applied to a call of a value of a variable with name <fun-name>.
(reported by Antonio Menezes Leitao)
* fixed bug 307: The obsolete instance protocol ensures that
subclasses are properly obsoleted. (thanks to Nikodemus Siivola)
* fixed bug 298, revealed by Paul F. Dietz' test suite: SBCL can
remove dead unknown-values globs from the middle of the stack.
* added a new restart to *BREAK-ON-SIGNALS* handling to make it
easier to resume long computations after using *BREAK-ON-SIGNALS*
to diagnose and fix failures. (thanks to Nikodemus Siivola)
* fixed bug reported by PFD in lisppaste #747 (and Bruno Haible from
CLISP test suite): WRITE-TO-STRING is not constant-foldable.
* fixed bugs in COMPLEX type specifier: UPGRADED-COMPLEX-PART-TYPE
is now consistent with (COMPLEX <x>); bugs in treatment of COMPLEX
MEMBER and UNION types have likewise been fixed. (thanks to Bruno
Haible)
* fixed a (fairly theoretical) bug in string printing: if
*PRINT-READABLY* is true, signal PRINT-NOT-READABLE if the string
does not have array-element-type equal to the most general string
type.
* fixed bug: SET-PPRINT-DISPATCH does not immediately resolve
function name. (thanks to Nikodemus Siivola)
* fixed bug: compile-time format string checker failed on
non-closed ~{. (reported by Thomas F Burdick)
* fixed bug: as reported by Kalle Olavi Niemitalo on #lisp IRC,
don't warn on legal loop code involving more than one aggregate
boolean. (thanks to Nikodemus Siivola)
* fixed bug: as reported by Peter Graves on #lisp IRC, passing a NIL
in keyword position to MAKE-PACKAGE was not being reported as
invalid.
* fixed bug: as reported by Juan Ripoll on cmucl-imp,
MULTIPLE-VALUE-BIND should be able to lexically bind lambda list
keywords.
* fixed bugs 280 and 312: the checking for multiple definitions in a
file is less likely to become confused by uses of inline
functions.
* fixed bug: the #S reader macro performs the keyword coercion
specified for slot names. (reported by Kalle Niemitalo)
* fixed bug: lambda lists may contain symbols whose names start with
& but are not lambda-list-keywords; their occurrence triggers a
STYLE-WARNING.
* fixed bug 321: define-method-combination argument lambda lists do
not cause invalid code to be generated when &optional or &aux
variables have default values. (reported by Bruno Haible)
* fixed bug 327: system subclasses of STRUCTURE-OBJECT or CONDITION
have CLOS classes; this appears also to have fixed reported
instability in stack exhaustion detection.
* fixed bug: the CONTROL-ERROR from ABORT, CONTINUE and
MUFFLE-WARNING when no associated restart is present is now
printable.
* optimization: rearranged the expansion of various defining macros
so that each expands into only one top-level form in a
:LOAD-TOPLEVEL context; this appears to decrease fasl sizes by
approximately 10%.
* optimization: used a previously little-used slot in symbols to
cache SXHASH values, yielding a 5-10% compiler speedup. (thanks
to Juho Snellman)
* fixed some bugs revealed by Paul Dietz' test suite:
** MAKE-INSTANCES-OBSOLETE returns the class name when called with
a symbol.
** Fixed an optimization bug related to inheritance of initforms
from local to shared slots.
** FILE-POSITION works as specified on BROADCAST-STREAMs.
** CAST optimizer forgot to flush argument derived type.
** print/read consistency on floats is now orders of magnitude
more likely. (thanks also to Bruno Haible for a similar report
and discussions)
** removed stack cleaning in the cleanup part of UNWIND-PROTECT.
** IMAGPART is specified (infelicitously) to return (* 0 <thing>)
for objects of type REAL. Make it so.
** SXHASH is specified (infelicitously) to respect similarity,
which means that (SXHASH 0.0) must equal (SXHASH -0.0). Make
it so. (thanks to Markus Ziegler)
** on the Alpha, the compiler succeeds in compiling functions
returning a known number of arguments greater than 63.
** fixed handling of invalid NIL arguments in keyword position
in local calls.
** fixed non-pretty printing of arrays with *PRINT-RADIX* being
true.
** provided a readably-printable representation for RANDOM-STATE
objects.
** ensured that pathnames, where they have a namestring, always
print using #P"..." syntax.
--
William Harold Newman <william.newman@...>
<_8jean> I wouldn't mind the nasal daemons, but the brutal warning
SBCL prints is annoying.
-- <http://tunes.org/~nef/logs/lisp/04.04.10>
PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C
|