X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=7edf405a75adaa9be2bbcc5f1a3aab57197ddf0c;hb=086927c64682b73e00cb5090ec72e1a72fb30ece;hp=b6b2ec16a9e31e897e84ac7365cbf0ddb0286356;hpb=22b8c6a91a89d0710db10e88f76ce0f2a245905d;p=sbcl.git diff --git a/NEWS b/NEWS index b6b2ec1..7edf405 100644 --- a/NEWS +++ b/NEWS @@ -1502,6 +1502,19 @@ changes in sbcl-0.7.12 relative to sbcl-0.7.11: ** CONSTANTP now returns true for all self-evaluating objects. changes in sbcl-0.7.13 relative to sbcl-0.7.12: + * incompatible packaging change: in line with Unix convention, + SBCL now looks for its core file in /usr/{local/,}lib/sbcl/sbcl.core + if it's not in $SBCL_HOME. It also sets SBCL_HOME to match. + * REQUIRE and PROVIDE are now optionally capable of doing something + useful. See the documentation string for REQUIRE. + * infrastructure for a managed SBCL contrib system: contributed + modules in this release include: + ** the ASDF system definition facility; + ** an interface to the BSD Sockets API; + ** an ACL-like convenience interface to the repl; + (thanks to Kevin Rosenberg) + ** an implementation of ROTATE-BYTE, with efficient implementation + on x86 hardware; * fixed a bug in LOG, so that LOG of a rational argument near 1 now gives a closer approximation to the right answer than previously. (thanks to Raymond Toy) @@ -1535,6 +1548,18 @@ changes in sbcl-0.7.13 relative to sbcl-0.7.12: many list operations. (thanks to Robert E. Brown) * fixed a bug in the reader: the #n# reader macro now works for objects of type STANDARD-OBJECT. (reported by Tony Martinez) + * the compiler is now aware that SYMBOL-FUNCTION returns a FUNCTION + and that READ-DELIMITED-LIST returns a LIST. (thanks to Robert + E. Brown and Tony Martinez respectively) + * PCL is now smarter about SLOT-VALUE, (SETF SLOT-VALUE) and + SLOT-BOUNDP: in particular, it is now able to optimize them much + better, and is now not vulnerable to having packages renamed. + Furthermore, a compliance bug has been fixed: SLOT-MISSING is now + always called when a slot is not present in an instance. (thanks + to Gerd Moellmann) + * fixed a bug related to CONCATENATED-STREAMs: PEEK-CHAR will no + longer signal an error on unreading a character following EOF on + the previous constituent stream. (thanks to Tony Martinez) * fixed some bugs revealed by Paul Dietz' test suite: ** ARRAY-IN-BOUNDS-P now allows arbitrary integers as arguments, not just nonnegative fixnums; @@ -1543,8 +1568,136 @@ changes in sbcl-0.7.13 relative to sbcl-0.7.12: freshly-consed result bit-array); ** ELT now signals an error on an invalid sequence index in safe code; + ** the type system is now cleverer about negations of numeric + types, and consequently understands the BIGNUM and RATIO types + better; + ** the type system is now cleverer about the interaction between + INTEGER and RATIO types: while bugs still remain, many more + cases are accurately computed; + ** in TYPECASE, OTHERWISE now only introduces an otherwise-clause + if it is in the last clause; + ** CONSTANTLY now correctly returns a side-effect-free function in + all cases; + ** DECLARE is no longer treated as a special-operator; in + particular, SPECIAL-OPERATOR-P no longer returns T for DECLARE; + * incremented fasl file version number due to the change in the + DEFSTRUCT-SLOT-DESCRIPTION structure. -planned incompatible changes in 0.7.x: +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, [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; + ** GETF and GET-PROPERTIES throw a TYPE-ERROR, not a SIMPLE-ERROR, + 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 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) + * 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) + * 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) + * 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. + * 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; + ** ... 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; + +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