0.8.10.50:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 860270f..dcd278d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2250,6 +2250,9 @@ changes in sbcl-0.8.8 relative to sbcl-0.8.7:
     signals received, on the PowerPC platforms (both Linux and
     Darwin).  (thanks to Pierre Mai for pointing out the location of
     the error)
     signals received, on the PowerPC platforms (both Linux and
     Darwin).  (thanks to Pierre Mai for pointing out the location of
     the error)
+  * several fixes on OS X: The system now builds and runs cleanly on
+    Panther (10.3), and works around sigreturn bug (no more SIGFPEs).
+    (thanks to Brian Mastenbrook)
   * bug fix: DECODE-UNIVERSAL-TIME now accepts timezone arguments with
     second-resolution: integer multiples of 1/3600 between -24 and 24.
     (thanks to Vincent Arkesteijn)
   * bug fix: DECODE-UNIVERSAL-TIME now accepts timezone arguments with
     second-resolution: integer multiples of 1/3600 between -24 and 24.
     (thanks to Vincent Arkesteijn)
@@ -2265,6 +2268,9 @@ changes in sbcl-0.8.8 relative to sbcl-0.8.7:
     recognized as being TYPEP their class.
   * bug fix: the PUSHNEW documentation string has been corrected.
     (thanks to Vincent Arkesteijn)
     recognized as being TYPEP their class.
   * bug fix: the PUSHNEW documentation string has been corrected.
     (thanks to Vincent Arkesteijn)
+  * bug fix: defaulting of the value for the last of an atypically
+    large number of multiple values being bound was not being
+    performed correctly on the Alpha or PPC platforms
   * optimization: implemented multiplication as a modular
     (UNSIGNED-BYTE 32) operation on the x86 backend.
   * optimization: SEARCH on simple-base-strings can now be open-coded.
   * optimization: implemented multiplication as a modular
     (UNSIGNED-BYTE 32) operation on the x86 backend.
   * optimization: SEARCH on simple-base-strings can now be open-coded.
@@ -2307,6 +2313,179 @@ changes in sbcl-0.8.8 relative to sbcl-0.8.7:
     ** OPEN and WITH-OPEN-STREAM allow opening streams with
        element-type larger than ([UN]SIGNED-BYTE 32).
 
     ** OPEN and WITH-OPEN-STREAM allow opening streams with
        element-type larger than ([UN]SIGNED-BYTE 32).
 
+changes in sbcl-0.8.9 relative to sbcl-0.8.8:
+  * deprecation of old extension: *DEBUG-PRINT-LEVEL* and
+    *DEBUG-PRINT-LENGTH* are now deprecated in favor of the new, more
+    general SB-DEBUG:*DEBUG-PRINT-VARIABLE-ALIST* mechanism. (This
+    should matter to you only if you rebind the printer control
+    variables and then find you want different bindings in the 
+    debugger than in the ordinary execution of your program.)
+  * The runtime build system has been tweaked to support building
+    (on SPARC/SunOS) using a C compiler which invokes Sun's own
+    assembler and linker.  (thanks to Nikodemus Siivola)
+  * Unbound, undefined, undeclared variables now trigger full
+    WARNINGs, not just STYLE-WARNINGs, on the assumption that this is
+    more often programmer error than deliberate exploitation of undefined
+    behaviour.
+  * optimization: the hash algorithm for strings has changed to one
+    that is less vulnerable to spurious collisions.  (thanks to Juho
+    Snellman)
+  * optimization: VECTOR-POP, VECTOR-PUSH-EXTEND and REPLACE do less
+    needless bounds checking.  (thanks to Juho Snellman)
+  * optimization: implemented multiplication as a modular
+    (UNSIGNED-BYTE 32) operation on the PPC backend.
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** ADJUST-ARRAY now copies the datum in a zero rank array if
+       required.
+    ** ADJUST-ARRAY no longer adjusts non-adjustable arrays.
+    ** MAKE-STRING-INPUT-STREAM accepts NIL as a value for :END.
+    ** MAKE-STRING-INPUT-STREAM functions correctly for strings with
+       element-type NIL.
+    ** CLEAR-INPUT accepts NIL and T for its (optional) stream
+       argument.
+    ** Ratios can now be printed correctly with *PRINT-BASE* bound to
+       2, 8 or 16.
+    ** ECHO-STREAMs no longer attempt to echo the end of file value to
+       their output stream on EOF from read.
+    ** CONCATENATED-STREAM-STREAMS discards constituent streams which
+       have been read to end-of-file.
+    ** CLOSE works as expected on the null CONCATENATED-STREAM, and on
+       STRING-STREAMS.
+    ** Printing symbols with *PRINT-CASE* :CAPITALIZE respects the
+       description of determination of which consecutive characters
+       constitute a word.
+    ** Printing the "Space" character with escaping on now yields "#\\ ", 
+       rather than "#\\Space", as mandated by ANSI 22.1.3.2.
+    ** Reading floating-point numbers with *READ-BASE* set to a number
+       less than 10 works correctly.
+    ** Reading floating-point numbers with *READ-BASE* set to a number
+       more than 10 works correctly.
+    ** Printing with *PRINT-READABLY* targets the standard readtable, not
+       the readtable currently in effect.
+
+changes in sbcl-0.8.10 relative to sbcl-0.8.9:
+  * Support for the forthcoming 2.0 version of the NetBSD kernel
+    running on x86 hardware has been added.  (thanks to Perry
+    E. Metzger most immediately, and others for their past work)
+  * SBCL now runs on OpenBSD 3.4. (Thanks to Scott Parish; 3.4 is the
+    current release version; SBCL's OpenBSD support had been broken 
+    since about the time of OpenBSD's switch to ELF binary format.)
+  * [placeholder for DX summary]
+    ** user code with &REST lists declared dynamic-extent, under high
+       speed or space and low safety and debug optimization policy.
+  * The manual has been converted to Texinfo format and the debugger
+    chapter from the cmucl manual has been added.
+  * A facility has been added to extract documentation strings from
+    sbcl and store them as Texinfo-formatted snippets for inclusion in
+    the manual (via Texinfo's @include directive)
+  * bug fix: compiler emitted division in optimized DEREF.  (thanks for
+    the test case to Dave Roberts)
+  * bug fix: multidimensional simple arrays loaded from FASLs had fill
+    pointers.  (reported by Sean Ross)
+  * bug fix: PROFILE output is printed nicely even for large numerical
+    values.  (thanks to Zach Beane)
+  * bug fix: streams with element-type (SIGNED-BYTE <N>) for <N>
+    greater than 32 handle EOF correctly.
+  * bug fix: on X86 an immediate argument of the IMUL instruction is
+    correctly printed in disassembly. (thanks to Lutz Euler)
+  * bug fix: class slots in redefined classes preserve their old
+    values.  (thanks to Bruno Haible and Nikodemus Siivola)
+  * bug fix: compilation of funcalls of CXX+R (e.g. CDDR) now
+    succeeds.  (reported by Marco Baringer)
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** READ-SEQUENCE now works on ECHO-STREAMs.
+    ** RATIONALIZE works more according to its specification.  (thanks
+       to Bruno Haible)
+
+changes in sbcl-0.8.11 relative to sbcl-0.8.10:
+  * 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.
+  * 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.
+  * 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.
+
 planned incompatible changes in 0.8.x:
   * (not done yet, but planned:) When the profiling interface settles
     down, it might impact TRACE. They both encapsulate functions, and
 planned incompatible changes in 0.8.x:
   * (not done yet, but planned:) When the profiling interface settles
     down, it might impact TRACE. They both encapsulate functions, and