* 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
+ introduced symbol is DECLAREd to be SPECIAL.
+ * 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;
+ * 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)
+ * 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)
planned incompatible changes in 0.7.x:
* When the profiling interface settles down, maybe in 0.7.x, maybe