0.9.1.52:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index a5f3458..972981d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,102 @@
-changes in sbcl-0.8.22 relative to sbcl-0.8.21:
+changes in sbcl-0.9.2 relative to sbcl-0.9.1:
+  * numerous signal handling fixes to increase stability
+  * Support for EUC-JP external format.  (thanks to NIIMI Satoshi)
+  * bug fix: interrupt-thread restores the eflags register on x86
+  * minor incompatible change: we now correctly canonize default
+    initargs, making them be a list of (INITARG INITFORM INITFUNCTION)
+    as per the MOP, rather than the historical (INITARG INITFUNCTION
+    INITFORM).  (reported by Bruno Haible)
+  * new feature: WITH-COMPILATION-UNIT now accepts a non-standard
+    :SOURCE-PLIST option. See (DOCUMENTATION #'WITH-COMPILATION-UNIT T)
+    for more information.
+  * TRUENAME and PROBE-FILE now correctly resolve symlinks even if the
+    pathname is a directory pathname.
+  * SB-SPROF now works (more) reliably on non-GENCGC platforms.
+  * fixed some lockups due to gc/thread interaction
+  * dynamic space size on PPC has been increased to 768Mb. (thanks to
+    Cyrus Harmon)
+  * SB-MOP:ENSURE-CLASS-USING-CLASS now accepts a class as the
+    :METACLASS argument in addition to a class name.  (reported by
+    Bruno Haible for CMUCL, patch for CMUCL by Gerd Moellmann)
+  * RESTART-CASE can now be wrapped around CALL-METHOD forms.
+    (reported by Bruno Haible; patch from Gerd Moellmann)
+  * bug fix: sbcl runtime can now be compiled with gcc4 (thanks to 
+    Sascha Wilde)
+  * bug fix: more cleanups to the floating point exception handling on
+    x86-64 (thanks to James Knight)
+  * bug fix: the compiler does not try to constant fold calls of
+    COERCE and BIT-* functions when they return freshly constructed
+    objects. (reported by Nikodemus Siivola and Paul Dietz)
+  * optimization: improved the MIPS versions of generic (in the
+    generic sense) arithmetic routines.  (thanks to Thiemo Seufer)
+  * optimization: direct conversion of (unsigned-byte 32) to floats on
+    the PowerPC platform.
+  * optimization: structure instances with raw slots now use less
+    memory, and probably show better memory locality.  (thanks to
+    David Lichteblau)
+  * optimization: DYNAMIC-EXTENT declarations for lists and closures
+    are treated as requests for stack allocation on the x86-64 and
+    Alpha-32 platforms.
+  * contrib improvement: it's harder to cause SOCKET-CLOSE to close()
+    the wrong file descriptor; implementation of SOCKET-OPEN-P.
+    (thanks to Tony Martinez)
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** invalid dotted lists no longer raise a read error when 
+       *READ-SUPPRESS* is T
+    ** signal an error if a symbol that names a declaration is used
+       as the name of a type, or vice versa
+    ** allow using the (declare (typespec var*)) abbreviation for 
+       (declare (type typespec var*)) with all type specifiers
+    ** circularity detection works properly with PPRINT-LOGICAL-BLOCK
+    ** always return NIL from PPRINT-POP when OBJECT is NIL
+    ** don't signal errors when pretty-printing malformed LABELS, 
+       FLET or MACROLET forms
+    ** declarations in a DOLIST body are also in scope for the 
+       DOLIST return-form
+    ** COMPILE-FILE accepts all pathname designators as INPUT-FILE
+       and OUTPUT-FILE
+    ** the ELEMENT-TYPE keyword argument to WITH-OUTPUT-STREAM is 
+       always evaluated
+
+changes in sbcl-0.9.1 relative to sbcl-0.9.0:
+  * fixed cross-compiler leakages that prevented building a 32-bit
+    target with a 64-bit host compiler.
+  * fixed a bug in CLOSE :ABORT T: no longer attempts to remove files
+    opened with :IF-EXISTS :OVERWRITE.
+  * fixed bug 281: error for an invalid qualifier in a short-form method
+    combination method is not signalled until the faulty method is called.
+  * bug fix: iteration variable type inferrer failed to deal with open
+    intervals. (reported by Alan Shields)
+  * bug fix: dynamically loading (via LOAD-SHARED-OBJECT or similar)
+    "frameworks" on Mac OS X no longer causes an EXC_BAD_ACCESS if two
+    or more runtime options were provided to the sbcl binary.
+  * compiled code is not steppable if COMPILATION-SPEED >= DEBUG.
+  * contrib improvement: implement SB-POSIX:MKSTEMP (Yannick Gingras)
+  * optimization: there's now a fast-path for fixnum arguments in the
+    generic subtraction routines on x86/x86-64. (Thanks to Lutz Euler)
+  * optimization: the code generated on x86-64 is more compact thanks
+    to not outputting unneccessary prefix bytes. (Thanks to Lutz Euler)
+  * bug fix: floating-point exception handling now partly works on
+    x86-64.  (Thanks to James Knight)
+  * improvement to the MIPS backend from Thiemo Seufer: C-style
+    64-bit long long arguments and return values to alien functions
+    are now supported.
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** the type-error signalled from WARN has a filled-in DATUM slot.
+    ** the type-error required when a stream is not associated with
+       a file has the stream as its datum.
+    ** type-errors on single-floats on x86-64 no longer have 
+       :INVALID-OBJECT as the datum
+    ** the type-errors signalled for invalid function names now have
+       a correct expected type
+    ** (SETF (DOCUMENTATION ... 'STRUCTURE)) no longer signals an error
+       for structures defined with a :TYPE. Documentation strings for
+       typed structures are no longer immediately discarded
+    ** FILE-STRING-LENGTH and STREAM-EXTERNAL-FORMAT now work on 
+       broadcast streams and synonym streams. FILE-LENGTH now also works
+       on broadcast streams.
+
+changes in sbcl-0.9.0 relative to sbcl-0.8.21:
   * incompatible change: the --noprogrammer option, deprecated since
     version 0.7.5, has been removed.  Please use the equivalent
     --disable-debugger option instead.
@@ -13,6 +111,8 @@ changes in sbcl-0.8.22 relative to sbcl-0.8.21:
   * optimization: REPLACE on declared (UNSIGNED-BYTE 8) vectors, as well
     as other specialized array types, is much faster.  SUBSEQ and
     COPY-SEQ on such arrays have also been sped up.
+  * optimization: EQL is now more efficient when at least other argument 
+    is known to be of type (OR FIXNUM (NOT NUMBER)).
   * fixed bug: the runtime is now less vulnerable to changes in the
     size of the SBCL object on OS X, and virtual memory is reserved for
     all spaces that need to be at a fixed address.
@@ -48,6 +148,16 @@ changes in sbcl-0.8.22 relative to sbcl-0.8.21:
     on x86-64
   * bug fix: setting 31st element of a bit vector to zero did not work
     on Alpha-32.
+  * bug fix: redefining a class definition which failed due to a
+    previous accessor / function clash now works (but see BUGS entry
+    #380 for more problems in this area).  (thanks to Zach Beane)
+  * the long form of DEFINE-METHOD-COMBINATION disables method group
+    checking when given a single method group with pattern *.  (thanks
+    to Wendall Marvel)
+  * on x86 compiler supports stack allocation of results of simple
+    calls of MAKE-ARRAY, bound to variables, declared DYNAMIC-EXTENT.
+  * support for building and running on Mac OS X 10.4 "Tiger" has been added
+    ** Binaries built on Tiger will not run on 10.2 "Jaguar" currently
   * fixed some bugs related to Unicode integration:
     ** the restarts for recovering from input and output encoding
        errors only appear when there is in fact such an error to
@@ -69,6 +179,8 @@ changes in sbcl-0.8.22 relative to sbcl-0.8.21:
        resulting in GC crashes.
     ** MISC.548: type check weakening can convert required type into
        optional.
+    ** initialization forms for bindings are not in scope of free special
+       declarations.
 
 changes in sbcl-0.8.21 (0.9alpha.1?) relative to sbcl-0.8.20:
   * incompatible change: thread support for non-NPTL systems has