X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=NEWS;h=60e2155e1c602cf9d260635adea93bece03637b1;hb=6c4d4d984b1af6b2a73568cec3ab9c8795cff2da;hp=64a04a7932e62c53bcd0200352a3b15dd4c1b3f4;hpb=b8fe7c0afeb9901091ce781ba351d0513f2ee86d;p=sbcl.git diff --git a/NEWS b/NEWS index 64a04a7..60e2155 100644 --- a/NEWS +++ b/NEWS @@ -1255,6 +1255,8 @@ changes in sbcl-0.7.8 relative to sbcl-0.7.7: based on the old CMUCL backend, has been made. It has been tested on a big-endian kernel, and works sufficiently well to be able to rebuild itself; it has not been tested in little-endian mode. + * fixed an inconsistency between gencgc.c and purify.c which made + dumping/loading .core files unreliable * fixed bug 120a: The compiler now deals correctly with IFs where the consequent is the same as the alternative, instead of misderiving the return type. (thanks to Alexey Dejneka) @@ -1268,16 +1270,80 @@ changes in sbcl-0.7.8 relative to sbcl-0.7.7: (thanks to Alexey Dejneka) * fixed several bugs in PCL's error checking (thanks to Gerd Moellmann) - * fixed bug in printing of FILE-ERROR (thanks to Antonio + * fixed bug: printing of FILE-ERROR (thanks to Antonio Martinez-Shotton) * fixed bug in compilation of functions as first class values (thanks to Antonio Martinez-Shotton) * The compiler's handling TYPE-ERRORs which it can prove will inevitably happen at runtime has been cleaned up and corrected in several ways. (thanks to Alexey Dejneka) + * improved argument type checking for various basic arithmetic + operations (MAX, +, LOGXOR, etc.) which have had so much TLC + lavished on them in the past that they can be compiled in many + ways in different special cases * fixed bug 181: compiler checks validity of user supplied type specifiers - * functions, which must signal errors, are no longer flushable + * cleaned up code flushing in optimization: Function calls which + should signal errors for safety purposes (e.g. which ANSI says + should signal errors when their arguments are of incorrect type) + are no longer optimized away. + * added new extension: SB-DEBUG:BACKTRACE-AS-LIST + * incremented fasl file version number, because changes in the + implementation of sequence functions like COERCE caused + internal utility functions like COERCE-TO-SIMPLE-VECTOR (used + in old inline expansions) to become undefined. (Actually these + changes were later undone, so we might very well be binary + compatible with 0.7.7 after all, but leaving the version number + incremented seemed like the simplest and most conservative + thing to do.) + +changes in sbcl-0.7.9 relative to sbcl-0.7.8: + * minor incompatible change: The runtime (the Unix executable named + "sbcl") is now much pickier about the .core files it will load. + Essentially it now requires .core files to descend from the same + build (not just the same sources or LISP-IMPLEMENTATION-VERSION) + as the runtime does. (The intent is to prevent the crashes which + can occur, and which can even be reported as mysterious failures, + when people patch the sources or change the build parameters + without changing LISP-IMPLEMENTATION-VERSION, then mix and match + sbcl and .core files.) + * fixed bug: VALUES-LIST is no longer optimized away. + * fixed bug 142: The FFI conversion of C string values to Lisp + string values no longer conses excessively. (thanks to Nathan + Froyd porting Raymond Toy's fix to CMU CL) + * began to systematize and improve MOP conformance in PCL (thanks to + Nathan Froyd, Gerd Moellman and Pierre Mai): + ** SLOT-DEFINITION-ALLOCATION now returns :CLASS, not the class + itself; + ** GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER is now implemented; + ** FINALIZE-INHERITANCE is now called on class finalization; + ** DOCUMENTATION and (SETF DOCUMENTATION) now have the correct + argument precedence order. + * fixed bug 202: The compiler no longer fails on functions whose + derived types contradict their declared type. + * DEFMACRO is implemented via EVAL-WHEN instead of IR1 translation, + so it can be non-toplevel. + * The fasl file version number has changed (because of the new + implementation of DEFMACRO). + * (mostly) fixed bugs 46b and 46c: sequence functions now check, in + safe code, that any length requirement by their type-specifier + argument is valid. The exceptions to this are described in bug + 213. + * fixed bugs 46h and 46i: TWO-WAY- and CONCATENATED-STREAM creation + functions now check the types of their inputs as required by ANSI. + * fixed bug 48c: SYMBOL-MACROLET signals PROGRAM-ERROR when an + introduced symbol is DECLAREd to be SPECIAL. + * fixed reading of (COMPLEX DOUBLE-FLOAT) literals from fasl files + * fixed bug: :COUNT argument to sequence functions may be negative + * fixed bug: body of DO-SYMBOLS may contain declarations + * fixed bug: PUSHNEW now evaluates its arguments from left to right + (reported by Paul F. Dietz, fixed by Gerd Moellman) + * fixed bug: PUSH, PUSHNEW and POP now evaluate a place given by a + symbol macro only once + * fixed printing of call frame when argument list is unavailable + * fixed bug: :ALLOW-OTHER-KEYS is an allowed keyword name + * compiler no longer signals WARNING on unknown keyword + :ALLOW-OTHER-KEYS planned incompatible changes in 0.7.x: * When the profiling interface settles down, maybe in 0.7.x, maybe