X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=9844abceda2b6c752790c78b1fbd5d7749d27097;hb=76874d05d623e0001cfcf23d2c74f78295ba6cee;hp=73010e35ff5b11bdb1f82360de05d5b996098da9;hpb=308a685dde769587dd17b20531645c5581e5fc7f;p=sbcl.git diff --git a/NEWS b/NEWS index 73010e3..9844abc 100644 --- a/NEWS +++ b/NEWS @@ -2313,19 +2313,25 @@ 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). -<<<<<<< NEWS -changes in sbcl-0.8.9 relative to sbcl-0.8.8: - * *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 matters 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.) - -======= 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: @@ -2343,8 +2349,230 @@ changes in sbcl-0.8.9 relative to sbcl-0.8.8: 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 ) for + 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: + * 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) + * 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. + +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. ->>>>>>> 1.484 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