0.7.1.18:
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 2cef80c..276ab6d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -981,19 +981,53 @@ changes in sbcl-0.7.0 relative to sbcl-0.6.13:
   some of which are apparent above.
 
 changes in sbcl-0.7.1 relative to sbcl-0.7.0:
-* SB-ALIEN:LOAD-FOREIGN and SB-ALIEN:LOAD-1-FOREIGN are set
-  up properly again. (There was a packaging bug in 0.7.0 which
-  left their definitions in SB-SYS::LOAD-FOREIGN and 
-  SB-SYS::LOAD-1-FOREIGN.)
-* DEFGENERIC is now choosier about the methods it redefines, so that
-  reLOADing a previously-LOADed file containing DEFGENERICs does
-  the right thing now. Thus, the Lispy edit/reLOAD-a-little/test
-  cycle now works as it should. (thanks to Alexey Dejneka)
-* Bug 106 (types (COMPLEX FOO) where FOO is an obscure type) was
-  fixed by Christophe Rhodes. (He actually submitted this patch
-  months ago, and I delayed until after 0.7.0.)
-* Bug 111 (internal compiler confusion about runtime checks on
-  FUNCTION types) was fixed by Alexey Dejneka.
+* mostly bug fixes:
+  ** SB-ALIEN:LOAD-FOREIGN and SB-ALIEN:LOAD-1-FOREIGN are set
+     up properly again. (There was a packaging bug in 0.7.0 which
+     left their definitions in SB-SYS::LOAD-FOREIGN and 
+     SB-SYS::LOAD-1-FOREIGN. LOAD-FOREIGN and LOAD-1-FOREIGN are
+     vital for most things which interface to C-level interfaces,
+     like extensions working with sockets or databases or
+     Perl-compatible regexes or whatever, and the need to fix
+     this bug is the main reason that 0.7.1 was released so
+     soon after 0.7.0.)
+  ** DEFGENERIC is now choosier about the methods it redefines, so that
+     reLOADing a previously-LOADed file containing DEFGENERICs does
+     the right thing now. Thus, the Lispy edit/reLOAD-a-little/test
+     cycle now works as it should. (thanks to Alexey Dejneka)
+  ** Bug 106 (types (COMPLEX FOO) where FOO is an obscure type) was
+     fixed by Christophe Rhodes. (He actually submitted this patch
+     months ago, and I delayed until after 0.7.0.)
+  ** Bug 111 (internal compiler confusion about runtime checks on
+     FUNCTION types) was fixed by Alexey Dejneka.
+* Some internal cleanups (getting rid of variables which aren't
+  needed now that the byte interpreter is gone) caused the fasl
+  file format number to change again.
+
+changes in sbcl-0.7.2 relative to sbcl-0.7.1:
+  * incompatible change: The compiler is now less aggressive about
+    tail call optimization, doing it only when (> SPACE DEBUG) or
+    (> SPEED DEBUG). (This is an incompatible change because there are
+    programs which relied on the old CMU-CL-style behavior to optimize
+    away their unbounded recursion which will now die of stack overflow.)
+  * new syntactic sugar for the Unix command line: --load foo.bar is now
+    an alternate notation for --eval '(load "foo.bar")'.
+  * bug fixes:
+    ** The system now hunts for the C variable "environ" in a more
+       devious way, to avoid segfaults when the C library version
+       differs between compile time and run time. (thanks to Christophe
+       Rhodes)
+    ** INTEGER-valued CATCH tags now work. (thanks to Alexey Dejneka)
+  * several changes related to debugging:
+    ** suppression of tail recursion, as noted above
+    ** The default implementation of TRACE has changed. :ENCAPSULATE T
+       is now the default. (For some time encapsulation has been more
+       reliable than the breakpoint-based :ENCAPSULATE NIL
+       implementation, at least on X86 systems; and I just noticed that
+       encapsulation also seems closer to the spirit of the ANSI
+       specification.)
+    ?? TRACE :ENCAPSULATE T now attaches a more informative debug
+       name to its wrapper function objects than it used to
 
 planned incompatible changes in 0.7.x:
 * When the profiling interface settles down, maybe in 0.7.x, maybe