X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=e4f3f18b3b2f3a4560766f6440ccf7adb656e4eb;hb=937a46e64983862cb9e21761db95e58700341940;hp=fb5f80e51809cdd1bec7ec8cabb794100ed4f433;hpb=724b51e6acb1fd0040de3751c9e4566e7a87ced3;p=sbcl.git diff --git a/NEWS b/NEWS index fb5f80e..e4f3f18 100644 --- a/NEWS +++ b/NEWS @@ -1776,12 +1776,27 @@ changes in sbcl-0.8.1 relative to sbcl-0.8.0: 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. + * 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 @@ -1798,7 +1813,9 @@ changes in sbcl-0.8.1 relative to sbcl-0.8.0: * 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. + * 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 @@ -1807,6 +1824,27 @@ changes in sbcl-0.8.1 relative to sbcl-0.8.0: 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 @@ -1815,6 +1853,30 @@ changes in sbcl-0.8.1 relative to sbcl-0.8.0: 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. + ** (SETF (AREF bv 0) ...) did not work for bit vectors. + ** SLOT-UNBOUND and SLOT-MISSING now have their return values + treated by SLOT-BOUNDP, SLOT-VALUE, (SETF SLOT-VALUE) and + SLOT-MAKUNBOUND in the specified fashion. planned incompatible changes in 0.8.x: * (not done yet, but planned:) When the profiling interface settles