sbcl-0.8.11 released

William Harold Newman <[email protected]> Mon, 7 Jun 2004 18:23:43 -0500
Newsgroups gmane.lisp.steel-bank.announce
Message-ID <[email protected]>
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 <[email protected]>
<_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


-------------------------------------------------------
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org