summaryrefslogtreecommitdiff
tag namesbcl_0_8_1 (9d596239c5c7f19c9e8f22a1cbb9449e27163d08)
tag date2003-06-22 18:36:27 +0300
tagged byAlexey Dejneka <adejneka@comail.ru>
tagged objectcommit ef8086e0ef...
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.) * minor incompatible change: VALUES declaration is disabled. * 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. However, at the moment, no such note subtypes yet exist. (SB-INT:SIMPLE-COMPILER-NOTE exists, but it's an implementation detail, not a classification for the purpose above.) * 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). * 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 now better at handling symbol macros. * bug fix: There is no longer an internal implementation type named CL:LENGTH. (reported by Raymond Toy) * bug fix: In macro-like defining macros/special operators the implicit block does not enclose the lambda list. * fixed bugs 10 and 43: Bare VALUES, AND, OR and MEMBER symbols (not enclosed in parentheses) are not suitable as 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: The 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 correctly. (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. ** (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.