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:
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 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)
+ * on X86 and Alpha 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.
+ * 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%.
+ * 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.
planned incompatible changes in 0.8.x:
* (not done yet, but planned:) When the profiling interface settles