X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=891ee6792c141cf0423a62b6ed9490fdeed7c796;hb=b3b4928dfd6f19e3cb4fafe16873ea14a5ef9a4d;hp=64d22570f5d5751a14c915142dc03b987e3fe5a8;hpb=2d5aa6cab0717da73485cbba7d7158edc95cc7df;p=sbcl.git diff --git a/NEWS b/NEWS index 64d2257..891ee67 100644 --- a/NEWS +++ b/NEWS @@ -1584,22 +1584,166 @@ changes in sbcl-0.7.13 relative to sbcl-0.7.12: DEFSTRUCT-SLOT-DESCRIPTION structure. changes in sbcl-0.7.14 relative to sbcl-0.7.13: + * a better implementation of SXHASH on (simple) bit vectors, + measured both in execution speed and in distribution of results + over the positive fixnums, has been installed. Likewise, a better + implementation of EQUAL for simple bit vectors is now available. * fixed CEILING optimization for a divisor of form 2^k. * fixed bug 240 (emitting extra style warnings "using the lexical binding of the symbol *XXX*" for &OPTIONAL arguments). (reported by Antonio Martinez) + * fixed SXHASH, giving different results for NIL depending on type + declarations (SYMBOL or LIST). (thanks to Gerd Moellmann) + * fixed bug in DEFPARAMETER and DEFVAR: they could assign a lexical + variable. (found by Rolf Wester) + * SBCL does not ignore type declarations for special + variables. (reported by rif on c.l.l 2003-03-05) + * some bug fixes in contrib/sb-aclrepl/ * fixed some bugs revealed by Paul Dietz' test suite: ** a bug in the CONS type specifier, whereby the CAR and CDR types got intertwined, has been fixed; ** the type system is now able to reason about the interaction between INTEGER and RATIO types more completely; - ** APPEND checks its arguments for being proper lists; + ** APPEND, [N]REVERSE and NRECONC check that those their + arguments, which must be proper lists, are really so; ** An array specialized to be unable to hold elements has been - implemented (as required -- yes, really) by ANSI; + implemented, as required -- yes, really -- by ANSI; ** GETF and GET-PROPERTIES throw a TYPE-ERROR, not a SIMPLE-ERROR, on malformed property lists; -planned incompatible changes in 0.7.x: +changes in sbcl-0.8alpha.0 relative to sbcl-0.7.14 + * experimental native threads support (on x86 Linux >=2.4 only). + 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. + * fix for longstanding nonANSIism: 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, + 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) + * sb-aclrepl module improvements: an integrated inspector, added + repl features, and a bug fix to :trace command. + * Known functions, which cannot be open coded by the backend, are + considered to be able to check types of their arguments. (fixing + a bug report by Nathan J. Froyd) + * fixed a bug in computing method discriminating functions: It is + now possible to define methods specialized on classes which have + forward-referenced superclasses. (thanks to Gerd Moellmann) + * fixed evaluation order in optional entries (reported by Gilbert + 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) + * 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. + * 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. + * The compiler issues a full WARNING for calls to undefined functions + with names from the CL package. + * MAP-INTO for a vector destination is open coded. (reported by + Brian Downing on c.l.l) + * bug fix: the long form of DEFINE-METHOD-COMBINATION now accepts a + documentation string. + * 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. + ** RESTART-CASE 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. + ** Side-effectful :DEFAULT-INITARGS have their side-effects + propagated even in the ctor optimized implementation of + MAKE-INSTANCE. + ** :ALLOW-OTHER-KEYS NIL is now accepted in an initarg list. + +changes in sbcl-0.8.0 relative to sbcl-0.8alpha.0 + * SBCL now builds using CLISP (version of late April 2003 from CVS) + as cross-compilation host. + * a contributed module containing a partial implementation of the + simple-streams interface has been included. (thanks to Rudi + Schlatte) + * a contributed module implementing the RFC1321 Message Digest + Algorithm, known as MD5, has been included. + * minor incompatible change: the :NEGATIVE-ZERO-IS-NOT-ZERO feature + no longer has any effect, as the code controlled by this feature + has been deleted. (As far as we know, no-one has ever built using + this feature, and its semantics were confused in any case). + * SB-MOP:DIRECT-SLOT-DEFINITION-CLASS and + SB-MOP:EFFECTIVE-SLOT-DEFINITION-CLASS now have the + specified-by-AMOP lambda list of (CLASS &REST INITARGS). + * compiler checks for duplicated variables in macro lambda lists. + * fixed bug 47.d: (DEFGENERIC IF (X)) now signals a PROGRAM-ERROR, + not a COMPILER-ERROR (followed by some other strange error on + choosing the CONTINUE restart). + * fixed some bugs revealed by Paul Dietz' test suite: + ** the GENERIC-FUNCTION type is no longer disjoint from FUNCTION + types. + ** &ENVIRONMENT parameter in macro lambda list is bound first. + ** SXHASH on condition objects no longer returns NIL. + ** :ALLOCATION :CLASS slots are better treated; their values are + updated on class redefinition, and initforms inherited from + superclasses are applied. + ** REMOVE-METHOD returns its generic function argument even when + no method was removed. + ** SHARED-INITIALIZE now initializes the values of the requested + slots, including those with :ALLOCATION :CLASS. + ** ALLOCATE-INSTANCE now works on structure classes defined via + DEFSTRUCT (and not just by those from DEFCLASS :METACLASS + STRUCTURE-CLASS). + +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