not a COMPILER-ERROR (followed by some other strange error on
choosing the CONTINUE restart).
* bug fix: make.sh and friends are now more consistent in the way that
- they for GNU "make".
+ they look for GNU "make".
changes in sbcl-0.8.1 relative to sbcl-0.8.0:
* minor incompatible change: some nonsensical specialized lambda
lists (used in DEFMETHOD) which were previously ignored now signal
errors.
+ * minor incompatible change: the system is now aware of the types of
+ variables in the COMMON-LISP package, and will signal errors for
+ most violations of these type constraints (where previously they
+ were silently accepted).
+ * minor incompatible change: COMPILE-FILE now uses the freedom
+ afforded (ANSI 3.2.2.3) to use derived function types for
+ functions defined in the same file. This also permits the system
+ to warn on static type mismatches and function redefinition.
* changes in type checking closed the following bugs:
** type checking of unused values (192b, 194d, 203);
** template selection based on unsafe type assertions (192c, 236);
* STREAM-READ-SEQUENCE and STREAM-WRITE-SEQUENCE now have methods
defined on the relevant FUNDAMENTAL-BINARY-{INPUT,OUTPUT}-STREAM
classes. (thanks to Antonio Martinez)
+ * improved ANSIness in DESCRIBE: The DESCRIBE function no longer
+ outputs FRESH-LINE or TERPRI, and no longer converts its stream
+ argument to a pretty-print stream. Instead, it leaves any such
+ operations to DESCRIBE-OBJECT methods.
+ * bug fix: APROPOS now respects the EXTERNAL-ONLY flag. (reported
+ by Teemu Kalvas)
+ * bug fix: NIL is now a valid destructuring argument in DEFMACRO
+ lambda lists. (thanks to David Lichteblau)
+ * bug fix: defining a generic function with a :METHOD-CLASS being a
+ subclass of STANDARD-METHOD no longer causes stack exhaustion.
+ (thanks to Gerd Moellmann)
+ * increased compilation speed of long MULTIPLE-VALUES-BIND.
+ * a contributed module implementing COMPILER-LET and MACROEXPAND-ALL
+ has been included.
+ * DEFCONSTANT now throws a condition of type
+ SB-EXT:DEFCONSTANT-UNEQL if it is being asked to redefine a
+ constant to a non-EQL value; CONTINUE and ABORT restarts
+ respectively change and preserve the value.
+ * fixed bug 63: the code walker, part of the implementation of CLOS,
+ is better at handling symbol macros.
+ * bug fix: there is no longer a type named LENGTH. (reported by
+ Raymond Toy)
* fixed some bugs revealed by Paul Dietz' test suite:
** NIL is now allowed as a structure slot name.
+ ** arbitrary numbers, not just reals, are allowed in certain
+ circumstances in LOOP for-as-arithmetic clauses.
+ ** multiple class redefinitions before slot access no longer
+ causes a type error.
+ ** (SETF FIND-CLASS) now accepts NIL as an argument to remove the
+ association between the name and a class.
+ ** generic functions with non-standard method-combination and over
+ six methods all of which return constants no longer return NIL
+ after the first few invocations. (thanks to Gerd Moellmann)
+ ** CALL-NEXT-METHOD with no arguments now passes the original
+ values of the arguments, even in the presence of assignment.
+ ** functions [N]SUBST*, LAST, NRECONC, [N]SUBLIS may return any
+ object.
+ ** DISASSEMBLE works with closures and funcallable instances.
+ ** ADD-METHOD now returns the generic function, not the new
+ method.
+ ** FIND-METHOD signals an error if the lengths of the specializers
+ is incompatible with the generic function, even if the ERRORP
+ argument is true.
+ ** TYPE-OF returns recognizeable subtypes of all built-in-types of
+ which its argument is a member.
planned incompatible changes in 0.8.x:
* (not done yet, but planned:) When the profiling interface settles