X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=82970ef7018249312a1b4dc5dc4e3b01550e3f17;hb=ff57884e206ac28660af6af34315bc9b81697f57;hp=dadddb3d16cddb0ca3f93b4c58af876b7232a9b4;hpb=83e5661ae59addac315e6754013b3887b477570f;p=sbcl.git diff --git a/NEWS b/NEWS index dadddb3..82970ef 100644 --- a/NEWS +++ b/NEWS @@ -1709,31 +1709,25 @@ changes in sbcl-0.8alpha.0 relative to sbcl-0.7.14 ** :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 + * SBCL now builds using CLISP (version of late April 2003 from CVS) as + cross-compilation host. As a consequence, we can now bootstrap our + way up to SBCL starting with a bare gcc toolchain and human-readable + source code (first the source to CLISP, then the source to SBCL). + * 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 + * 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 + * 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). - * minor incompatible change: as a consequence of making - SLOT-EXISTS-P work on conditions (as required by the ANSI - specification), SLOT-VALUE, (SETF SLOT-VALUE) and SLOT-BOUNDP - likewise have the expected behaviour on conditions. Users should - note, however, that such behaviour is not required by the ANSI - specification, and so use of this behaviour may render their code - unportable. - * 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). + * minor incompatible change: As a consequence of making SLOT-EXISTS-P + work on conditions (as required by the ANSI specification), + SLOT-VALUE, (SETF SLOT-VALUE) and SLOT-BOUNDP likewise have the + expected behaviour on conditions. Users should note, however, + that such behaviour is not required by the ANSI specification, + and so use of this behaviour may render their code unportable. * fixed some bugs revealed by Paul Dietz' test suite: ** the GENERIC-FUNCTION type is no longer disjoint from FUNCTION types. @@ -1751,15 +1745,142 @@ changes in sbcl-0.8.0 relative to sbcl-0.8alpha.0 STRUCTURE-CLASS). ** SLOT-EXISTS-P now works on conditions, as well as structures and CLOS instances. + ** MAKE-LOAD-FORM now has the required methods on + STRUCTURE-OBJECT, CONDITION and STANDARD-OBJECT. + ** MAKE-LOAD-FORM-SAVING-SLOTS no longer returns a special + keyword, and now implements the SLOT-NAMES argument. + ** methods with &OPTIONAL arguments no longer allow too many + arguments to be passed in the call without error. + ** DEFGENERIC now checks that the :ARGUMENT-PRECEDENCE-ORDER + option is consistent with the required arguments of the generic + function lambda list. + * bug fix: REQUIRE accepts a string designator. (Thanks to + Antonio Martinez.) + * bug fix: 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). + * bug fix: The compiler now checks for duplicated variables in macro + lambda lists. + * bug fix: SETQ on globals returns the correct value. + * 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). + * bug fix: make.sh and friends are now more consistent in the way that + 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. (Currently it does not work with high DEBUG level.) + * when issuing notes, the compiler now signals a condition of type + SB-EXT:COMPILER-NOTE, and provides an associated MUFFLE-WARNING + restart for use in user handlers. It is expected that the + COMPILER-NOTE condition will eventually become a condition + supertype to a hierarchy of note types, which will then be + handleable in a similar fashion; other than + SB-INT:SIMPLE-COMPILER-NOTE, an implementation detail, no such + note subtypes yet exist. + * 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); + ** type checking in branches (194bc). + * VALUES declaration is disabled. + * a short form of VALUES type specifier has ANSI meaning (it has + increased the number of situations when SBCL cannot perform type + checking). + * fixed bug in DEFSTRUCT: once again, naming structure slots with + keywords or constants is permissible. + * 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) + * fixed bug 246: increased compilation speed of long + MULTIPLE-VALUE-BIND (and likewise of NTH-VALUE with a constant + integer argument). + * 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) + * bug fix: in macro-like defining macros/special operators the + implicit block does not enclose lambda list. + * fixed bugs 10 and 43: VALUES, AND, OR and MEMBER are not suitable as + atomic type specifiers, and their use properly signals an error now. + * bug fix: an argument count mismatch for a type specifier in code + being compiled no longer causes an unhandled error at compile + time, but signals a compile-time warning. + * fixed simple vector readable printing. + * bug fix: DESCRIBE takes more care over whether the class + precedence list slot of a class is bound before accessing it. + (reported by Markus Krummenacker) + * bug fix: FORMATTER can successfully compile pretty-printer format + strings which use variants of the ~* directive inside. + * bug fix: SEARCH now applies its TEST predicate to the elements of + the arguments in the correct order. (thanks to Wolfhard Buss) + * fixed bug 235b: compiler uses return types of MAPCAR and friends + in type inference. (thanks to Robert E. Brown) + * bug fix: reading in symbols with an explicit package name of "" + (e.g. '||::FOO) now works corectly. (reported by Henrik Motakef) + * 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 + five 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. + ** DEFCLASS only redefines the class named by its class-name + argument if that name is the proper name of the class; + otherwise, it creates a new class. + ** SLOT-UNBOUND now correctly initalizes the CELL-ERROR-NAME slot + of the UNBOUND-SLOT condition to the name of the slot. 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 - will interact with TRACE - and UNTRACE. (This shouldn't matter, though, unless you are - using profiling. If you never profile anything, TRACE should - continue to behave as before.) + down, it might impact TRACE. They both encapsulate functions, and + it's not clear yet how e.g. UNPROFILE will interact with TRACE + and UNTRACE. (This shouldn't matter, though, unless you are using + profiling. If you never profile anything, TRACE should continue to + behave as before.) * (not done yet, but planned:) Inlining can now be controlled the ANSI way, without MAYBE-INLINE, since the idiom (DECLAIM (INLINE FOO))