0.8.16.44: direct-subclass update protocol bugfix
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 3a3e2cf..3d66399 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,12 @@
 changes in sbcl-0.8.17 relative to sbcl-0.8.16:
-  * 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.
+  * 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
@@ -12,8 +16,29 @@ changes in sbcl-0.8.17 relative to sbcl-0.8.16:
   * 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,
@@ -29,11 +54,35 @@ changes in sbcl-0.8.17 relative to sbcl-0.8.16:
     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:
   * enhancement: saving cores with foreign code loaded is now