0.pre8.103:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 34505a7..386e5df 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1612,17 +1612,34 @@ changes in sbcl-0.7.14 relative to sbcl-0.7.13:
        on malformed property lists;
 
 changes in sbcl-0.8.0 relative to sbcl-0.7.14
-  * the old distinction between CL:CLASS objects and SB-PCL:CLASS
-    objects has been removed.  The return value from CL:FIND-CLASS is
-    now a CLOS class, and likewise that of CL:CLASS-OF;
+  * The old distinction between CL:CLASS objects and SB-PCL:CLASS
+    objects has been eliminated.  The return value from CL:FIND-CLASS
+    is now a CLOS class, and likewise that of CL:CLASS-OF;
     CL:BUILT-IN-CLASS, CL:STRUCTURE-CLASS and CL:STANDARD-CLASS name
     CLOS classes.
-  * an interface to the MetaObject Protocol, as described in Kiczales,
+  * An interface to the MetaObject Protocol, as described in Kiczales,
     des Rivieres and Bobrow's "The Art of the Metaobject Protocol",
     MIT Press, 1991, is available from the SB-MOP package.
   * incompatible change: the SB-PCL package should now be considered a
     private implementation detail, and no longer a semi-private MOP
     interface.
+  * minor incompatible change: due to rearrangement for threads, the
+    control stack and binding stack are now allocated at arbitrary
+    addresses instead of being hardcoded per-port.  Users affected by
+    this probably have to be doing advanced things with shared
+    libraries, and will know who they are.
+  * minor incompatible change: Previously, all --eval forms used were
+    processed with READ before any of them were processed with EVAL.
+    Now each --eval form is processed with both READ and EVAL before
+    the next --eval form is processed. (Thus package operations like
+    sbcl --eval "(defpackage :foo)" --eval "(print 'foo::bar)" now work
+    as the user might reasonably expect.)
+  * minor incompatible change: *STANDARD-INPUT* is now only an
+    INPUT-STREAM, not a BIDIRECTIONAL-STREAM.  (thanks to Antonio
+    Martinez)
+  * minor incompatible change: Y-OR-N-P is now character-oriented, not
+    line oriented.  Also, YES-OR-NO-P now works without errors.
+    (thanks to Antonio Martinez)
   * known functions, which cannot be open coded by backend, are
     considered to be able to check types of their arguments.
     (reported by Nathan J. Froyd)
@@ -1633,11 +1650,58 @@ changes in sbcl-0.8.0 relative to sbcl-0.7.14
     Baumann)
   * SB-MOP:ENSURE-CLASS-USING-CLASS now takes its arguments in the
     specified-by-AMOP order of (CLASS NAME &REST ARGS &KEY).
+  * SB-MOP:COMPUTE-EFFECTIVE-SLOT-DEFINITION now takes the
+    required-by-AMOP NAME argument, as well as CLASS and
+    DIRECT-SLOT-DEFINITIONS.  (thanks to Kevin Rosenberg)
+  * fixed bug 20: DEFMETHOD can define methods using names that are
+    not the proper names of classes to designate class specializers.
+  * bug fix: INTERACTIVE-STREAM-P now works on streams associated with
+    Unix file descriptors, instead of blowing up. (thanks to Antonio
+    Martinez)
+  * Experimental native threads support, on x86 Linux.  This is not
+    compiled in by default: you need to add :SB-THREAD to the target
+    features.  See the "Beyond ANSI" chapter of the manual for
+    details.
+  * Garbage collection refactoring: user-visible change is that a
+    call to the GC function during WITHOUT-GCING will not do garbage
+    collection until the end of the WITHOUT-GCING.  If you were doing
+    this you were probably losing anyway.
+  * sb-aclrepl module improvements: an integrated inspector, added
+    repl features, and a bug fix to :trace command.
+  * fixed bug in MEMBER type: (MEMBER 0.0) is not the same as
+    (SINGLE-FLOAT 0.0 0.0), because of the existence of -0.0 which is
+    TYPEP the latter but not the former.
+  * compiler issues a full WARNING on calling of an undefined function
+    with a name from the CL package.
+  * MAP-INTO for a vector destination is open coded. (reported by
+    Brian Downing on c.l.l)
   * fixed some bugs revealed by Paul Dietz' test suite:
     ** COPY-ALIST now signals an error if its argument is a dotted
        list;
+    ** condition slots are now accessed more correctly in the presence
+       of multiple initargs for a given slot;
+    ** the USE-VALUE, CONTINUE and STORE-VALUE functions now correctly
+       exclude restarts of the same name associated with a different
+       condition;
+    ** DEFCLASS of forward-referenced classes with another
+       forward-referenced class in the superclasses list no longer
+       causes an error;
+    ** condition slots are now initialized once each, not multiple
+       times;  (thanks to Gerd Moellmann)
+    ** CONVERT-MORE-CALL failed on a lambda list (&KEY);  (thanks to
+       Gerd Moellmann)
+    ** &WHOLE and &REST arguments in macro lambda lists are patterns;
+    ** NSET-EXCLUSIVE-OR does not return extra elements when its
+       arguments contain duplicated elements;
+    ** RESTART-CASE understands local macros;
+    ** ... and associates exactly its own restarts with a condition;
+    ** ENDP in safe mode checks its argument to be of type LIST;
+    ** COPY-SYMBOL in a threaded build no longer fails when the symbol
+       in question is unbound;
+    ** optimized MAKE-INSTANCE functions no longer cause internal
+       assertion failures in the presence of duplicate initargs;
 
-planned incompatible changes in 0.7.x:
+planned incompatible changes in 0.8.x:
   * (not done yet, but planned:) When the profiling interface settles
     down, maybe in 0.7.x, maybe later, it might impact TRACE. They both
     encapsulate functions, and it's not clear yet how e.g. UNPROFILE