X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=9844abceda2b6c752790c78b1fbd5d7749d27097;hb=76874d05d623e0001cfcf23d2c74f78295ba6cee;hp=786c2f87d1866de0210bc7c18305324d49a95e27;hpb=05b94d58e3d7f86d8b7f4b5fc224d72765004aaf;p=sbcl.git diff --git a/NEWS b/NEWS index 786c2f8..9844abc 100644 --- a/NEWS +++ b/NEWS @@ -2398,13 +2398,49 @@ 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. + * 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 was erroneously applied to a call of a value of a variable with 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 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) @@ -2418,6 +2454,124 @@ changes in sbcl-0.8.11 relative to sbcl-0.8.10: *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 ) + 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. + +changes in sbcl-0.8.12 relative to sbcl-0.8.11: + * minor incompatible change: the system no longer provides + optimization hints (conditions which are TYPEP + SB-EXT:COMPILER-NOTE) for conforming code in default compilation + mode; these hints are still emitted when higher SPEED optimization + is requested. + * new contrib module: a sampling profiler (profiling by statistical + sampling, rather than by instrumenting functions) is available as + the SB-SPROF contrib. (thanks to Gerd Moellmann and Juho Snellman) + * the behaviour of the standard function ED is now customizeable by + third parties through a hook variable: see ED's documentation + string for information on the protocol. + * the compiler no longer emits efficiency notes for (FUNCALL X) + when the type of X is uncertain under default optimization + settings. + * fixed bug 276: mutating a binding of a specialized parameter to a + method to something that is not TYPEP the specializer is now + possible. + * fixed bugs 45d and 118: DOUBLE-FLOAT[-NEGATIVE]-EPSILON now + exhibit the required behaviour on the x86 platform. (thanks to + Peter van Eynde, Eric Marsden and Bruno Haible) + * fixed bug 335: ATANH now computes the inverse hyperbolic tangent + even for difficult arguments. (reported by Peter Graves) + * fixed bug 141a: the backquote printer now descends quoted + structure. + * fixed another bug in backquote printing: no more destructive + modification of the form's list structure. (reported by Brian + Downing) + * fixed bug in INTERRUPT-THREAD: pin the function, so that it cannot + move between its address being taken and the call to + interrupt_thread, fixing a crashing race condition. + * the SB-POSIX contrib implementation has been adjusted so that it + no longer exhibits ridiculously poor performance when constructing + instances corresponding to C structs. + +changes in sbcl-0.8.13 relative to sbcl-0.8.12: + * minor incompatible change: as threatened around sbcl-0.8.0, the + home package of MOP-related symbols is now SB-MOP, not SB-PCL. + The symbols are also exported from SB-PCL for backwards + compatibility, but more so than before SB-PCL should be treated as + an implementation-internal package. + * new feature: SB-PACKAGE-LOCKS. See the fine manual for details, + add :SB-PACKAGE-LOCKS in customize-target-features.lisp to + enable them. + * the SB-SPROF contrib now works on (most) non-x86 architectures. + It is known as of this release not to work on the Alpha, however. + * fixed bug #338: instances of EQL-SPECIFIER are now valid type + designators and can hence be used with TYPEP. + * fixed bug #333: CHECK-TYPE now ensures that the type error + signalled, if any, has the right object to be accessed by + TYPE-ERROR-DATUM. (reported by Tony Martinez) + * fixed a bug: #\Space (and other whitespace characters) are no + longer considered to be macro characters in standard syntax by + GET-MACRO-CHARACTER. planned incompatible changes in 0.8.x: * (not done yet, but planned:) When the profiling interface settles