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)
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;
** the USE-VALUE, CONTINUE and STORE-VALUE functions now correctly
exclude restarts of the same name associated with a different
condition;
- * 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.
- * 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
+ ** 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;
+ ** SLOT-MAKUNBOUND returns the instance acted upon, not NIL;
planned incompatible changes in 0.8.x:
* (not done yet, but planned:) When the profiling interface settles