X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=NEWS;h=45141a0574f8a558b7635009977ff0441fc739fc;hb=bf5a814edd504f1497ef1c04966d44310e54ef28;hp=fd2d4425993ba2de90373f261d9f450541a1be9a;hpb=7b384da95e6a30e1434523213aeeed3a90448c78;p=sbcl.git diff --git a/NEWS b/NEWS index fd2d442..45141a0 100644 --- a/NEWS +++ b/NEWS @@ -2398,11 +2398,160 @@ 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) - * 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 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 ); 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 ) + 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. planned incompatible changes in 0.8.x: * (not done yet, but planned:) When the profiling interface settles