0.7.9.52:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 6c65e6a..0ab4e51 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1311,14 +1311,24 @@ changes in sbcl-0.7.9 relative to sbcl-0.7.8:
   * fixed bug 142: The FFI conversion of C string values to Lisp
     string values no longer conses excessively. (thanks to Nathan
     Froyd porting Raymond Toy's fix to CMU CL)
-  * improved MOP conformance in PCL (thanks to Nathan Froyd porting
-    Gerd Moellman's work in CMU CL)
+  * began to systematize and improve MOP conformance in PCL (thanks to
+    Nathan Froyd, Gerd Moellman and Pierre Mai):
+    ** SLOT-DEFINITION-ALLOCATION now returns :CLASS, not the class
+       itself;
+    ** GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER is now implemented;
+    ** FINALIZE-INHERITANCE is now called on class finalization;
+    ** DOCUMENTATION and (SETF DOCUMENTATION) now have the correct
+       argument precedence order.
   * fixed bug 202: The compiler no longer fails on functions whose
     derived types contradict their declared type.
   * DEFMACRO is implemented via EVAL-WHEN instead of IR1 translation,
     so it can be non-toplevel.
   * The fasl file version number has changed (because of the new
     implementation of DEFMACRO).
+  * (mostly) fixed bugs 46b and 46c: sequence functions now check, in
+    safe code, that any length requirement by their type-specifier
+    argument is valid.  The exceptions to this are described in bug
+    213.
   * fixed bugs 46h and 46i: TWO-WAY- and CONCATENATED-STREAM creation
     functions now check the types of their inputs as required by ANSI.
   * fixed bug 48c: SYMBOL-MACROLET signals PROGRAM-ERROR when an
@@ -1326,6 +1336,85 @@ changes in sbcl-0.7.9 relative to sbcl-0.7.8:
   * fixed reading of (COMPLEX DOUBLE-FLOAT) literals from fasl files
   * fixed bug: :COUNT argument to sequence functions may be negative
   * fixed bug: body of DO-SYMBOLS may contain declarations
+  * fixed bug: PUSHNEW now evaluates its arguments from left to right
+    (reported by Paul F. Dietz, fixed by Gerd Moellman)
+  * fixed bug: PUSH, PUSHNEW and POP now evaluate a place given by a
+    symbol macro only once
+  * fixed printing of call frame when argument list is unavailable
+  * fixed bug: :ALLOW-OTHER-KEYS is an allowed keyword name
+  * compiler no longer signals WARNING on unknown keyword
+    :ALLOW-OTHER-KEYS
+
+changes in sbcl-0.7.10 relative to sbcl-0.7.9:
+  * minor incompatible change: PCL now records the pathname of a file
+    in which methods and the like are defined, rather than its
+    truename.
+  * minor incompatible change: TRUENAME now considers the truename of
+    a file naming a directory to be the pathname with :DIRECTORY
+    component indicating that directory.
+  * more systematization and improvement of CLOS and MOP conformance
+    in PCL (thanks to Gerd Moellman and Pierre Mai):
+    ** the standard ANSI CL generic function NO-NEXT-METHOD is now
+       implemented;
+    ** DEFINE-METHOD-COMBINATION no longer signals an error for
+       primary methods with no specializers;
+    ** the MOP generic function GENERIC-FUNCTION-DECLARATIONS is now
+       implemented;
+    ** the Readers for Class Metaobjects methods CLASS-DIRECT-SLOTS
+       and CLASS-DIRECT-DEFAULT-INITARGS have been implemented for
+       FORWARD-REFERENCED-CLASSes; error reporting on
+       CLASS-DEFAULT-INITARGS, CLASS-PRECEDENCE-LIST and CLASS-SLOTS
+       has been improved;
+    ** SXHASH on CLOS instances now uses a slot internal to the
+       instance to return different numbers on distinct instances,
+       while preserving the same return value through invocations of
+       CHANGE-CLASS;
+    ** DEFMETHOD signals errors when methods with longer incongruent
+       lambda lists are added to generic functions;
+    ** COMPUTE-CLASS-PRECEDENCE-LIST now has a method specialized on
+       CLASS, as specified in AMOP;
+    ** COMPUTE-SLOTS :AROUND now assigns locations sequentially based
+       on the order returned by the primary method for classes of
+       class STANDARD-CLASS;
+  * fixed some bugs shown by Paul Dietz' test suite:
+    ** DOLIST puts its body in TAGBODY
+    ** SET-EXCLUSIVE-OR sends arguments to :TEST function in the
+       correct order
+    ** MULTIPLE-VALUE-SETQ evaluates side-effectful places before
+       value producing form
+    ** if more variables are given to PROGV than values, extra
+       variables are bound and made to have no value
+    ** NSUBSTITUTE on list arguments gets the right answer with
+       :FROM-END
+    ** ELT signals an error of type TYPE-ERROR when the index argument
+       is not a valid sequence index;
+    ** LOOP signals (at macroexpansion time) an error of type
+       PROGRAM-ERROR when duplicate variable names are found;
+    ** LOOP supports DOWNTO and ABOVE properly (thanks to Matthew Danish)
+    ** FUNCALL of special-operators now cause an error of type
+       UNDEFINED-FUNCTION;
+    ** PSETQ now works as required in the presence of side-effecting
+       symbol-macro places;
+    ** NCONC accepts any object as its last argument
+    ** :COUNT argument to sequence functions may be BIGNUM (thanks to
+       Gerd Moellman);
+    ** Loop-package does not require a package to be explicitely
+       specified;
+  * fixed bug 166: compiler preserves "there is a way to go"
+    invariant when deleting code.
+  * fixed bug 172: macro lambda lists with required arguments after
+    &REST arguments now cause an error to be signalled.  (thanks to
+    Matthew Danish)
+  * fixed Entomotomy PEEK-CHAR-WRONGLY-ECHOS-TO-ECHO-STREAM
+    bug. (thanks to Matthew Danish)
+  * fixed bug 225: STRING-STREAM is now a class. (reported by Gilbert
+    Baumann)
+  * fixed bug 136: CALL-NEXT-METHOD no longer gets confused when
+    arguments are lexically rebound. (thanks to Gerd Moellmann and
+    Pierre Mai)
+  * fixed bug 194: error messages are now more informative when there
+    is no primary method applicable in a call to a generic
+    function. (thanks to Gerd Moellmann)
 
 planned incompatible changes in 0.7.x:
 * When the profiling interface settles down, maybe in 0.7.x, maybe