X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=dbb5997b2fdcfbb74d78ebd786a5f53fbba59247;hb=2f3c0044ba37b2b33ab60b283e4612aa1ba643eb;hp=8c81f3e78e43a0af7dcb86e30219f0d06f581269;hpb=c8cc0137e55e6179f6af344f42e54f514660f68b;p=sbcl.git diff --git a/NEWS b/NEWS index 8c81f3e..dbb5997 100644 --- a/NEWS +++ b/NEWS @@ -2398,6 +2398,32 @@ changes in sbcl-0.8.10 relative to sbcl-0.8.9: to Bruno Haible) 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. + * (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: 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 @@ -2407,8 +2433,8 @@ changes in sbcl-0.8.11 relative to sbcl-0.8.10: (reported by Antonio Menezes Leitao) * fixed bug 307: The obsolete instance protocol ensures that subclasses are properly obsoleted. (thanks to Nikodemus Siivola) - * on X86 fixed bug 298, revealed by Paul F. Dietz' test suite: SBCL - can remove dead unknown-values globs from the middle of the stack. + * 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) @@ -2429,17 +2455,56 @@ changes in sbcl-0.8.11 relative to sbcl-0.8.10: * 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) * 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 ) + 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. planned incompatible changes in 0.8.x: * (not done yet, but planned:) When the profiling interface settles