X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=044f4e95b98afd42b2c98a481b7ce3fda811453a;hb=7628542a73adb9ba8090ea1edcade1e508d388cb;hp=8d79df5d431cb62bc06861711f07868e8fd4899a;hpb=8b0f847a56feacdfcbc8dae20cdc84bb91bf4c98;p=sbcl.git diff --git a/NEWS b/NEWS index 8d79df5..044f4e9 100644 --- a/NEWS +++ b/NEWS @@ -2234,15 +2234,112 @@ changes in sbcl-0.8.7 relative to sbcl-0.8.6: ** VALUES tranformer lost derived type. changes in sbcl-0.8.8 relative to sbcl-0.8.7: + * minor incompatible change: parsing of namestrings on a physical + (Unix) host has changed; numbers after the final #\. in a + namestring are no longer interpreted as a version field. This is + intented to be largely invisible to the user, except that the + meaning of the namestring "*.*.*" has changed: it now refers to a + pathname with :TYPE :WILD :NAME #. This namestring + should usually be replaced by + (make-pathname :name :wild :type :wild :version :wild) + with the added benefit that this is more likely to be portable. + 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) - * optimization: implemented multiplication as a modular - (UNSIGNED-BYTE 32) operation on the x86 backend. * bug fix: functions =, /=, <, <=, >, >= did not check the argument type when called with 1 argument; PEEK-CHAR checked type of PEEK-TYPE only after having read first character from a - stream. (reported by Peter Graves) + stream. (reported by Peter Graves) + * bug fix: the garbage collector now has much better locality + 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. + ** pathwise CAST removing failed when the CAST node did not start + a block. + ** INPUT-STREAM-P, OUTPUT-STREAM-P, STREAM-ELEMENT-TYPE and + OPEN-STREAM-P signal a TYPE-ERROR if their argument is not a + stream. + ** LOAD-LOGICAL-PATHNAME-TRANSLATIONS returns NIL if the logical + host is already defined. + ** RENAME-FILE works on streams instead of signalling an internal + type error. + ** PEEK-CHAR uses the current readtable when determining whether + or not a character is whitespace. + ** MERGE-PATHNAMES handles the case when the pathname does not + specify a name while the default-pathname specifies a version. + ** Pathnames now stand a better chance of respecting print/read + consistency. + ** Attempting to use standardized file system operators with a + pathname with invalid :DIRECTORY components signals a + FILE-ERROR. + ** OPEN :DIRECTION :IO no longer fails to work on non-existent + files. + ** DIRECTORY on logical pathnames is more correct. + ** CLEAR-INPUT, CLEAR-OUTPUT, FINISH-OUTPUT and FORCE-OUTPUT + 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) + * 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. planned incompatible changes in 0.8.x: * (not done yet, but planned:) When the profiling interface settles