0.9.1.4: ENSURE-CLASS-USING-CLASS patch by Gerd Moellman, from cmucl-imp
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 46a9a7e..78b7f55 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,140 @@
+changes in sbcl-0.9.2 relative to sbcl-0.9.1:
+  * 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 Moellman)
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** Invalid dotted lists no longer raise a read error when 
+       *READ-SUPPRESS* is T
+
+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.
+  * incompatible change: finalizers and *AFTER-GC-HOOKS* are now run with
+    interrupts enabled.
+  * incompatible change: support for *BEFORE-GC-HOOKS* (that have been
+    inoperational for a while now) has been completely removed.
+  * null lexical environments are now printed as #<NULL-LEXENV>, 
+    significantly reducing the amount of clutter in typical backtraces.
+  * documentation on weak pointers, finalization, and after GC hooks
+    has been added to the manual.
+  * 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.
+  * fixed bug: finalizers are now thread-safe. (thanks to Gabor Mellis)
+  * fixed bug: finalizers and after GC hooks that cause consing are now
+    safe.
+  * fixed bug: compiler error messages and summaries are now printed to 
+    *ERROR-OUTPUT*, not *STANDARD-OUTPUT*.
+  * fixed inference of the upper bound of an iteration variable.
+    (reported by Rajat Datta).
+  * fixed bug 211e: calling local functions with duplicated constant
+    keyword argument no longer causes a bogus style warning about an
+    unused variable.
+  * fixed bug 305: INLINE/NOTINLINE declaration no longer causes local
+    ftype declaration to be disregarded. (reported by Dave Roberts)
+  * fixed bug 373: caused by erronous compilation of references to alien
+    variables in the runtime on ppc/darwin.
+  * fixed bug 376: CONJUGATE type deriver.
+  * fixed infinite looping of ALIEN-FUNCALL, compiled with high DEBUG.
+    (reported by Baughn on #lisp)
+  * a cross-compiler bug on non-x86 platforms has been identified and
+    fixed.  (thanks to Bruno Haible)
+  * improvements to the MIPS runtime code for increased stability.
+    (thanks to Thiemo Seufer)
+  * increased the maximimum compact environment size to allow
+    purify on images with large amounts of functions. (thanks to Cyrus Harmon)
+  * partial workaround for bug 135: don't name the function we're
+    calling for hairy cases of EVAL, so as not to accumulate one environment
+    entry per call to EVAL.  (reported by Kevin Reid)
+  * improvements to the x86-64 disassembler. (thanks to Lutz Euler)
+  * optimization: type testing for non-vector arrays should be faster.
+  * fixed TRACE :ENCAPSULATE NIL, added support for :ENCAPSULATE NIL
+    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
+       handle.
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** MISC.549 and similar: late transformation of unsafe type
+       assertions into derived types caused unexpected code
+       transformations.
+    ** SCALE-FLOAT type deriver is less wrong.
+    ** type derivers for EXP, LOG and similar functions compute result
+       types for complex arguments better.
+    ** (MISC.563) CONJUGATE type deriver works for very restricted
+       complex types.
+    ** out-of-line type testers for character strings are available.
+    ** EQUAL compiler transform understands specialness of objects
+       of type BIT-VECTOR.
+    ** accessing double-floats stored on the stack now works on x86-64.
+    ** debugger internals could sometimes create invalid lispobjs, 
+       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
+    been removed - locking is buggy and unreliable.  A threaded 
+    SBCL build will now warn at startup and refuse to create
+    new threads, unless futex support is detected in the kernel
   * incompatible change: the top level REPL now has only an ABORT
     restart associated with it, not TOPLEVEL and ABORT as it used to.
     TOP and TOPLEVEL are now available as debugger commands for 
@@ -9,6 +145,8 @@ changes in sbcl-0.8.21 (0.9alpha.1?) relative to sbcl-0.8.20:
     no longer processed with LOAD, but by READ and EVAL; hence the
     global optimization policy, startup package, readtable, etc, 
     can be set by them.
+  * The .fasl file format number has been incremented because of 
+    various incompatible changes.
   * internal entry point details and argument counts no longer appear
     in backtraces unless explicitly requested by setting
     SB-DEBUG:*SHOW-ENTRY-POINT-DETAILS*.
@@ -49,6 +187,11 @@ changes in sbcl-0.8.21 (0.9alpha.1?) relative to sbcl-0.8.20:
     on x86-64
   * fixed some bugs revealed by Paul Dietz' test suite:
     ** MISC.564: defined out-of-line version of %ATAN2 on x86.
+    ** attempting to create a package with a colliding nickname causes
+       correctable errors to be signalled.
+    ** MISC.572-574: :START1 and :START2 broken for simple-base-strings.
+    ** several x86-64 backend bugs related to sign-extension of immediate
+       operands.
 
 changes in sbcl-0.8.20 (0.9alpha.0?) relative to sbcl-0.8.19:
   * fixed inspection of specialized arrays. (thanks to Simon Alexander)