0.8.16.44: direct-subclass update protocol bugfix
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 7c09acf..3d66399 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,107 @@
+changes in sbcl-0.8.17 relative to sbcl-0.8.16:
+  * new feature: a build-time option (controlled by the :SB-UNICODE
+    keyword feature, enabled by default) for building the system with
+    support for the entire 21-bit character space defined by the
+    Unicode consortium.
+  * new feature: the system now has rudimentary external-format
+    support; the primary user-visible change at this time is that
+    characters with the high bit set (such as lower-case-e-acute) will
+    print correctly to a terminal in a UTF-8 environment.
+  * minor incompatible change: BASE-CHAR no longer names a class;
+    however, CHARACTER continues to do so, as required by ANSI.
+  * minor incompatible change: SB-DEBUG:*DEBUG-PRINT-FOO* variables
+    are no longer supported, and SB-DEBUG:*DEBUG-PRINT-VARIABLE-ALIST*
+    has been moved to the SB-EXT package (temporarily re-exported from
+    SB-DEBUG).
+  * minor incompatible change: SB-C::*COMPILER-ERROR-PRINT-FOO* variables
+    are no longer supported: use SB-EXT:*COMPILER-PRINT-VARIABLE-ALIST*
+    instead. 
+  * fixed bug #351: better error-handlind and reporting for malformed
+    LET and LET* forms.
+  * fixed bug #350: bignum-printing is now more memory-efficient,
+    allowing printing of very large bignums, eg. (expt 2 10000000).
+    (reported by Bruno Haible)
+  * fixed bug #302: better primitive-type selection for intersection
+    types.
+  * fixed bug #308: non-graphic characters now all have names, as
+    required.  (reported by Bruno Haible)
+  * bug fix: redefining a class with different superclasses now correctly
+    removes it from the direct-subclasses of its previous superclasses.
+    (reported by David Morse)
+  * bug fix: (SETF FIND-CLASS) using a FORWARD-REFERENCED-CLASS as the
+    new value now works. (reported by Bruno Haible)
+  * bug fix: correct canonicalization of multiple non-standard slot
+    options in DEFCLASS as per AMOP 5.4.2. (reported by Bruno Haible)
+  * bug fix: SB-MOP:CLASS-PROTOTYPE now signals an error if the class
+    is not yet finalized, as required by AMOP. (reported by Bruno Haible)
+  * bug fix: SB-MOP:ALLOCATE-INSTANCE method for instances of BUILT-IN-CLASS
+    now exists, an signals an error.
+  * bug fix: duplicate LOOP variable bindings now signal PROGRAM-ERROR
+    during macroexpansion for non-iteration variables as well. (reported 
+    by Bruno Haible for CMUCL)
+  * bug fix: Cyclic structures and unprintable objects in compiler
+    messages no longer cause errors. (reported by Bruno Haible)
+  * bug fix: READ, READ-PRESERVING-WHITESPACE, READ-DELIMITED-LIST,
+    and READ-FROM-STRING all now return a primary value of NIL if
+    *READ-SUPPRESS* is true.  (reported by Bruno Haible for CMUCL)
+  * bug fix: Default value of EOF-ERROR-P in READ-FROM-STRING is true.
+    (reported by Bruno Haible for CMUCL)
+  * bug fix: ERROR now signals a TYPE-ERROR if the arguments to ERROR
+    do not designate a condition.  (reported by Bruno Haible for
+    CMUCL)
+  * bug fix: UNINTERN, USE-PACKAGE, IMPORT and EXPORT all signal an
+    SB-EXT:NAME-CONFLICT condition (subtype of PACKAGE-ERROR) in the
+    name conflict situations in CLHS 11.1.1.2.5, and provide a restart
+    permitting resolution in favour of any of the conflicting symbols.
+    (reported by Bruno Haible for CMUCL)
+  * bug fix: EQUAL compiler optimizations is less aggressive on
+    strings which can potentially compare true despite having distinct
+    specialized array element types.
+  * bug fix: unit enumerations can be defined without dividing by
+    zero.  (thanks to Vincent Arkesteijn)
+  * FORMAT compile-time argument count checking has been enhanced.
+    (report from Bruno Haible for CMUCL)
+  * a partial workaround for the bug 262: the compiler does not try to
+    inline-expand a local function doing RETURN-FROM from a deleted
+    BLOCK. (thanks to Peter Denno for the bug report and to David
+    Wragg for the simple test case)
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** RENAME-PACKAGE allows all package designators as new package
+       names.
+    ** constraint propagation and lambda variable substitution are
+       more cautious in dealing with partially deleted code.
+    ** compiler sometimes lost reoptimization passes.
+    ** CERROR, given a condition as condition designator, passes its
+       remaining arguments to the continue format control without
+       complaint.
+    ** Case-altering FORMAT directives work correctly on non-ASCII
+       characters.
+    ** The REAL type specifier handles bounds outside the floating
+       point ranges without signalling FLOATING-POINT-OVERFLOW.
+    ** Functions with IR1-transformations can create intercomponent
+       references to global functions.
+    ** NIL parameter to the FORMAT directive ~^ means `unsupplied
+       parameter'.
+    ** FORMAT ~R treats a nil value for its first parameter correctly.
+
 changes in sbcl-0.8.16 relative to sbcl-0.8.15:
 changes in sbcl-0.8.16 relative to sbcl-0.8.15:
+  * enhancement: saving cores with foreign code loaded is now
+    supported on x86/NetBSD and sparc/Linux in addition to the previously
+    supported platforms.
+  * bug fix: on some platforms repeated installations caused multiple
+    copies of HTML documentation to be installed -- should not happen
+    any more. (reported by Stefan Scholl)
+  * bug fix: parsing self-recursive alien record types multiple times
+    no longer causes infinite recursion. (reported by Thomas F. Burdick,
+    original patch by Helmut Eller for CMUCL)
+  * bug fix: stack-exhaustion detection works now on NetBSD as well.
+    (thanks to Richard Kreuter)
+  * bug fix: defining classes whose accessors are methods on existing
+    generic functions in other (locked) packages no longer signals
+    bogus package lock violations. (reported by François-René Rideau)
+  * bug fix: special variables as DEFMETHOD parameters no longer have
+    associated bogus type declarations. (reported by David Wragg and
+    Bruno Haible)
   * bug fix: read-write consistency on streams of element-type
     (SIGNED-BYTE N) for N > 32.  (reported by Bruno Haible for CMUCL)
   * bug fix: redefiniton of the only method of a generic function with
   * bug fix: read-write consistency on streams of element-type
     (SIGNED-BYTE N) for N > 32.  (reported by Bruno Haible for CMUCL)
   * bug fix: redefiniton of the only method of a generic function with
@@ -6,10 +109,24 @@ changes in sbcl-0.8.16 relative to sbcl-0.8.15:
     redefinition of generic functions with no DEFGENERIC to an
     incompatible lambda list now signals an error.  (thanks to Zach
     Beane)
     redefinition of generic functions with no DEFGENERIC to an
     incompatible lambda list now signals an error.  (thanks to Zach
     Beane)
+  * bug fix: DEFGENERIC now works even when there's a function of the
+    same name in an enclosing lexical environment.  (thanks to Zach
+    Beane)
+  * fixed compiler failure, caused by instrumenting code during
+    IR1-optimization.  (Debian bug report #273606 by Gabor Melis)
+  * optimization: added loop analysis and improved register allocation
   * fixed some bugs revealed by Paul Dietz' test suite:
     ** POSITION on displaced vectors with non-zero displacement
        returns the right answer.
   * fixed some bugs revealed by Paul Dietz' test suite:
     ** POSITION on displaced vectors with non-zero displacement
        returns the right answer.
-    ** (SIGNED-BYTE) is a valid type specifier for sequence creators.
+    ** (SIMPLE-STRING) is a valid type specifier for sequence
+       creators.
+    ** *PRINT-LEVEL* handling for slotless structures is pedantically
+       correct.
+    ** PPRINT-INDENT accepts a request for an indentation of any REAL.
+    ** PPRINT-TAB (and the FORMAT ~T directive) now indent by the
+       correct amounts.
+    ** The justification version of the FORMAT ~< directive treats
+       non-zero minpad parameter correctly.
 
 changes in sbcl-0.8.15 relative to sbcl-0.8.14:
   * incompatible change: SB-INT:*BEFORE-SAVE-INITIALIZATIONS* and
 
 changes in sbcl-0.8.15 relative to sbcl-0.8.14:
   * incompatible change: SB-INT:*BEFORE-SAVE-INITIALIZATIONS* and