X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=c042a50b863a7d14383083eb4de23dba314570c2;hb=0794cd3908a441222f430ba0cf3bb7c3e1a96c63;hp=5402e4bb714c5cc6893336b3a6d377e779daa845;hpb=34111868d4b78f1f96e010d1719b8efab732aaa7;p=sbcl.git diff --git a/NEWS b/NEWS index 5402e4b..c042a50 100644 --- a/NEWS +++ b/NEWS @@ -2246,6 +2246,13 @@ changes in sbcl-0.8.8 relative to sbcl-0.8.7: As a consequence of this change, the :IF-EXISTS :NEW-VERSION option to OPEN now signals an error if the file being opened exists; this may have an impact on existing code. + * fixed bug 190: RUN-PROGRAM should now work properly, respecting + signals received, on the PowerPC platforms (both Linux and + Darwin). (thanks to Pierre Mai for pointing out the location of + the error) + * several fixes on OS X: The system now builds and runs cleanly on + Panther (10.3), and works around sigreturn bug (no more SIGFPEs). + (thanks to Brian Mastenbrook) * bug fix: DECODE-UNIVERSAL-TIME now accepts timezone arguments with second-resolution: integer multiples of 1/3600 between -24 and 24. (thanks to Vincent Arkesteijn) @@ -2257,11 +2264,20 @@ changes in sbcl-0.8.8 relative to sbcl-0.8.7: behaviour, and in particular no longer treats all memory as being exhausted when many small objects point to each other in a deeply recursive manner. + * bug fix: arrays specialized on (UNSIGNED-BYTE 15) are now + recognized as being TYPEP their class. + * bug fix: the PUSHNEW documentation string has been corrected. + (thanks to Vincent Arkesteijn) + * bug fix: defaulting of the value for the last of an atypically + large number of multiple values being bound was not being + performed correctly on the Alpha or PPC platforms * optimization: implemented multiplication as a modular (UNSIGNED-BYTE 32) operation on the x86 backend. * optimization: SEARCH on simple-base-strings can now be open-coded. (see also contrib/compiler-extras.lisp for inspiration for teaching the compiler about the Boyer-Moore algorithm). + * value, returned by MAX (and MIN) called with several EQUALP, but + not EQL, arguments now does not depend on compiler settings. * fixed some bugs revealed by Paul Dietz' test suite: ** in stack analysis liveness information is propagated from non-local entry points. @@ -2290,6 +2306,153 @@ changes in sbcl-0.8.8 relative to sbcl-0.8.7: signal a TYPE-ERROR if their argument is not a stream. ** READ-BYTE and WRITE-BYTE signal a TYPE-ERROR if their stream designator argument does not designate a stream. + ** OPEN-STREAM-P and INPUT-STREAM-P on synonym streams work by + examining the synonym. + ** STREAM-ELEMENT-TYPE and FRESH-LINE on broadcast-streams now + work as specified. + ** OPEN and WITH-OPEN-STREAM allow opening streams with + element-type larger than ([UN]SIGNED-BYTE 32). + +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: + ** ADJUST-ARRAY now copies the datum in a zero rank array if + required. + ** ADJUST-ARRAY no longer adjusts non-adjustable arrays. + ** MAKE-STRING-INPUT-STREAM accepts NIL as a value for :END. + ** MAKE-STRING-INPUT-STREAM functions correctly for strings with + element-type NIL. + ** CLEAR-INPUT accepts NIL and T for its (optional) stream + argument. + ** Ratios can now be printed correctly with *PRINT-BASE* bound to + 2, 8 or 16. + ** ECHO-STREAMs no longer attempt to echo the end of file value to + 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: + * 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 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. + * 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) + * 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: + ** 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) planned incompatible changes in 0.8.x: * (not done yet, but planned:) When the profiling interface settles