0.7.8.36:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 5f3dca3..6c65e6a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1192,7 +1192,7 @@ changes in sbcl-0.7.6 relative to sbcl-0.7.5:
 
 changes in sbcl-0.7.7 relative to sbcl-0.7.6:
   * An alpha-quality port to the parisc architecture running Linux,
-    based on the old CMUCL backend has been made.  This, even more so
+    based on the old CMUCL backend, has been made.  This, even more so
     than the other backends, should be considered still a work in
     progress; known problems include that the Linux kernel in 64-bit
     mode does not propagate the correct sigcontext structure to
@@ -1213,6 +1213,9 @@ changes in sbcl-0.7.7 relative to sbcl-0.7.6:
     SB-KERNEL:CONTROL-STACK-EXHAUSTED condition (subclass of
     STORAGE-CONDITION) is signalled, so stack exhaustion can no longer
     be caught using IGNORE-ERRORS.
+  * Bugs 65, 70, and 109 fixed: The compiler now preserves invariants
+    correctly when transforming recursive LABELS functions to LETs.
+    (thanks to Alexey Dejneka)
   * Bug 48a./b. fixed: SYMBOL-MACROLET now refuses to bind symbols
     that are names of constants or global variables.
   * Bug fix: DEFINE-ALIEN-ROUTINE now declaims the correct FTYPE for
@@ -1247,6 +1250,83 @@ changes in sbcl-0.7.7 relative to sbcl-0.7.6:
   * The fasl file version number has changed again. (because of the
     bug fix involving the names of PCL MAKE-INSTANCE functions)
 
+changes in sbcl-0.7.8 relative to sbcl-0.7.7:
+  * A beta-quality port to the mips architecture running Linux,
+    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)
+  * fixed bug 113: Logical pathnames are now dumpable (the logical
+    host is resolved at load-time, throwing an error if it is not
+    found).
+  * fixed bug 174: FORMAT's error message is slightly clearer when a
+    non-printing character is used in a format directive.
+  * fixed several bugs in compiler checking of type declarations, i.e.
+    violations of the Python "declarations are assertions" principle
+    (thanks to Alexey Dejneka)
+  * fixed several bugs in PCL's error checking (thanks to Gerd
+    Moellmann)
+  * 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
+  * 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)
+  * improved MOP conformance in PCL (thanks to Nathan Froyd porting
+    Gerd Moellman's work in CMU CL)
+  * 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).
+  * 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
+
 planned incompatible changes in 0.7.x:
 * When the profiling interface settles down, maybe in 0.7.x, maybe
   later, it might impact TRACE. They both encapsulate functions, and