0.pre7.35:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 1a3a1bf..7534722 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -813,6 +813,8 @@ changes in sbcl-0.6.13 relative to sbcl-0.6.12:
   fasl file version.
 
 changes in sbcl-0.7.0 relative to sbcl-0.6.13:
+* incompatible change: The default fasl file extension has changed
+  to ".fasl", for all architectures. (No longer ".x86f" and ".axpf".) 
 * There are new compiler optimizations for various functions: FIND,
   POSITION, FIND-IF, POSITION-IF, FILL, COERCE, TRUNCATE, FLOOR, and
   CEILING. Mostly these should be transparent, but there's one 
@@ -823,6 +825,52 @@ changes in sbcl-0.7.0 relative to sbcl-0.6.13:
   it will issue WARNINGs about the type mismatches. It's not clear
   how to make the compiler smart enough to fix this in general, but
   a workaround is given in the entry for 117 in the BUGS file.
+* The EVAL and EVAL-WHEN code has been largely rewritten, and the
+  old CMU CL "IR1 interpreter" has gone away. The new interpreter
+  is probably slower and harder to debug than the old one, but
+  it's much simpler (several thousand lines of source code simpler)
+  and considerably more ANSI-compliant. Bugs
+    ?? IR1-3 and
+    ?? IR1-3a
+  have been fixed. Since the code is newer, there might still be
+  some new bugs (though not as many as before Martin Atzmueller's
+  fixes:-). But hopefully any remaining bugs will be simpler, less
+  fundamental, and more fixable then the bugs in the old IR1
+  interpreter code.
+* DEFSTRUCT and DEFCLASS have been substantially updated to take
+  advantage of the new EVAL-WHEN stuff and to clean them up in 
+  general, and are now more ANSI-compliant in a number of ways. Martin
+  Atzmueller is responsible for a lot of this.
+* A bug in LOOP operations on hash tables has been fixed, thanks
+  to a bug report and patch from Alexey Dejneka.
+* The default value of *BYTES-CONSED-BETWEEN-GCS* has been 
+  doubled, to 4 million. (If your application spends a lot of time
+  GCing and you have a lot of RAM, you might want to experiment with
+  increasing it even more.)
+* PPRINT-LOGICAL-BLOCK now copies the *PRINT-LINES* value on entry
+  and uses that copy, rather than the current dynamic value, when
+  it's trying to decide whether to truncate output . Thus e.g.
+     (let ((*print-lines* 50))
+       (pprint-logical-block (stream nil)
+         (dotimes (i 10)
+           (let ((*print-lines* 8))
+             (print (aref possiblybigthings i) stream)))))
+  should truncate the logical block only at 50 lines, instead of 
+  often truncating it at 8 lines.
+* :SB-CONSTRAIN-FLOAT-TYPE, :SB-PROPAGATE-FLOAT-TYPE, and
+  :SB-PROPAGATE-FUN-TYPE are no longer considered to be optional
+  features. Instead, the code that they used to control is always
+  built into the system.
+* The doc/cmucl/ directory, containing old CMU CL documentation,
+  is no longer part of the base system. The files which used to 
+  be in the doc/cmucl/ directory are now available as
+    <ftp://sbcl.sourceforge.net/pub/sbcl/cmucl-docs.tar.bz2>.
+* lots of tidying up internally: renaming things so that names are
+  more systematic and consistent, converting C macros to inline
+  functions, systematizing indentation, making symbol packaging
+  more logical, and so forth
+* The fasl file version number changed again, for any number of
+  good reasons.
 
 planned incompatible changes in 0.7.x:
 * The debugger prompt sequence now goes "5]", "5[2]", "5[3]", etc.
@@ -830,7 +878,6 @@ planned incompatible changes in 0.7.x:
   instead of the old "5]", "5]]", "5]]]" sequence. (I was motivated
   to do this when squabbles between ILISP and SBCL left me
   very deeply nested in the debugger.)
-* The fasl file extension may change, perhaps to ".fasl".
 * The default output representation for unprintable ASCII characters 
   which, unlike e.g. #\Newline, don't have names defined in the 
   ANSI Common Lisp standard, may change to their ASCII symbolic