X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=8be61c1e7f25a7ee9f3162be15972b54d817d2a3;hb=c47519c9e63fd32a635943a84ec13d8a60d95f08;hp=278a163df73de2864ab9938f152acac3f981d2d1;hpb=2ad51f7553081cce0924ace6b215c01ff9f075eb;p=sbcl.git diff --git a/NEWS b/NEWS index 278a163..8be61c1 100644 --- a/NEWS +++ b/NEWS @@ -2173,14 +2173,93 @@ changes in sbcl-0.8.6 relative to sbcl-0.8.5: that the various BOOLE-related constants have the same value in host and target lisps. (noted by Paul Dietz' test suite on an SBCL binary built from CLISP) + * The system can now be dynamically linked on the MIPS platform, + which enables dynamic loading of foreign code from Lisp. (thanks + to Ralf Baechle for discussions on the MIPS ABI) + * The system now records debugging information for its own source + files in a filesystem-position-independent manner, relative to + the "SYS" logical host. * fixed a compiler bug: MV-LET convertion did not check references to the "max args" entry point. (reported by Brian Downing) + * tweaked disassembly notes to be less confident about proclaiming + some instruction as an LRA. (thanks to Brian Downing) + * contrib update: SB-ACLREPL is now threadsafe; multiple listeners + now each have their own history, command character, and other + characteristics. (thanks to David Lichteblau) * fixed some bugs revealed by Paul Dietz' test suite: ** compiler failure in compiling LOGAND expressions including a - constant 0. - ** implementation of ASH-MOD32 on X86 did not work for the shift - greater than 32. + constant 0 + ** Implementation of ASH-MOD32 on X86 and PPC did not work for the + shift greater than 32. ** FLUSH-DEST did not mark blocks for type check regeneration. + ** HANDLER-CASE failed to accept declarations in handler clauses + in some circumstances. + +changes in sbcl-0.8.7 relative to sbcl-0.8.6: + * When built with the :SB-FUTEX feature, threaded builds now take + advantage of the "fast userspace mutex" facility in Linux kernel 2.6 + for faster/more reliable mutex and condition variable support. + * Incompatible change (but one you probably shouldn't have been using + anyway): the interface and code for arbitrating between multiple + threads in the same user session has been redesigned. + * bug fix: GET-SETF-EXPANSION no longer throws an internal type + error when called without an explicit environment argument. + (thanks to Nikodemus Siivola) + * bug fix: buffered :DIRECTION :IO streams are less likely to become + confused about their position. (thanks to Adam Warner and Gerd + Moellmann) + * bug fix: Pretty printing backquoted forms with unquotations in the + argument list position of various code constructs such as LAMBDA + now works correctly. (reported by Paul Dietz) + * bug fix: Pretty printing unquotations no longer loses all + stream position information. + * optimization: performance of string output streams is now less + poor for multiple small sequence writes. + * optimization: performance of CSUBTYPEP in the presence of complex + expressions involving CONS and NOT many times has been improved. + (reported by Paul Dietz) + * ASDF-INSTALL bug fix: now parses *PROXY* properly. (thanks to + Sean Ross) + * SB-SIMPLE-STREAMS enhancement: simple-streams can now be used as + streams for the REPL, for the debugger, and so on. (thanks to + David Licteblau) + * DEFINE-CODITION is more efficient. (thanks to Brian Mastenbrook) + * fixed some bugs revealed by Paul Dietz' test suite: + ** the value of the :REHASH-THRESHOLD argument to MAKE-HASH-TABLE + is ignored if it is too small, rather than propagating through + to cause DIVIDE-BY-ZERO or FLOATING-POINT-OVERFLOW errors. + ** extremely complex negations of CONS types were not being + sufficiently canonicalized, leading to inconsistencies in + SUBTYPEP. + ** VALUES tranformer lost derived type. + +changes in sbcl-0.8.8 relative to sbcl-0.8.7: + * 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. + * 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). + * 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) + * 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 now uses the current readtable when determining + whether a character is whitespace. planned incompatible changes in 0.8.x: * (not done yet, but planned:) When the profiling interface settles