Don't use raw divisions by zero in `test-conversion.c'.
[bpt/guile.git] / NEWS
diff --git a/NEWS b/NEWS
index 7fc29c2..831f2ec 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,8 @@
 Guile NEWS --- history of user-visible changes.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 See the end for copying conditions.
 
-Please send Guile bug reports to bug-guile@gnu.org.  Note that you
-must be subscribed to this list first, in order to successfully send a
-report to it.
+Please send Guile bug reports to bug-guile@gnu.org.
 
 \f
 Changes in 1.9.0:
@@ -42,6 +40,32 @@ application code.
 ** Functions for handling `scm_option' now no longer require an argument
 indicating length of the `scm_t_option' array.
 
+** Primitive procedures (aka. "subrs") are now stored in double cells
+This removes the subr table and simplifies the code.
+
+** Primitive procedures with more than 3 arguments (aka. "gsubrs") are
+no longer implemented using the "compiled closure" mechanism.  This
+simplifies code and reduces both the storage and run-time overhead.
+
+\f
+Changes in 1.8.7 (since 1.8.6)
+
+* Bugs fixed
+
+** Fix compilation with `--disable-deprecated'
+** Fix %fast-slot-ref/set!, to avoid possible segmentation fault
+** Fix MinGW build problem caused by HAVE_STRUCT_TIMESPEC confusion
+** Fix build problem when scm_t_timespec is different from struct timespec
+** Fix build when compiled with -Wundef -Werror
+
+** Allow @ macro to work with (ice-9 syncase)
+
+Previously, use of the @ macro in a module whose code is being
+transformed by (ice-9 syncase) would cause an "Invalid syntax" error.
+Now it works as you would expect (giving the value of the specified
+module binding).
+
+** Have `scm_take_locale_symbol ()' return an interned symbol (bug #25865)
 
 \f
 Changes in 1.8.6 (since 1.8.5)
@@ -65,6 +89,12 @@ When you use GDS to evaluate Scheme code from Emacs, you can now use
 Thus, the `--enable-maintainer-mode' configure option is no longer
 available: Guile is now always configured in "maintainer mode".
 
+** `ChangeLog' files are no longer updated
+
+Instead, changes are detailed in the version control system's logs.  See
+the top-level `ChangeLog' files for details.
+
+
 * Bugs fixed
 
 ** `symbol->string' now returns a read-only string, as per R5RS
@@ -86,6 +116,7 @@ available: Guile is now always configured in "maintainer mode".
    dynamic environment of the call to `raise'
 ** Fix potential deadlock in `make-struct'
 ** Fix compilation problem with libltdl from Libtool 2.2.x
+** Fix sloppy bound checking in `string-{ref,set!}' with the empty string
 
 \f
 Changes in 1.8.5 (since 1.8.4)
@@ -238,7 +269,6 @@ Changes in 1.8.3 (since 1.8.2)
 ** The reader is now faster, which reduces startup time
 ** Procedures returned by `record-accessor' and `record-modifier' are faster
 
-
 \f
 Changes in 1.8.2 (since 1.8.1):
 
@@ -247,6 +277,16 @@ Changes in 1.8.2 (since 1.8.1):
 ** set-program-arguments
 ** make-vtable
 
+* Incompatible changes
+
+** The body of a top-level `define' no longer sees the binding being created
+
+In a top-level `define', the binding being created is no longer visible
+from the `define' body.  This breaks code like
+"(define foo (begin (set! foo 1) (+ foo 1)))", where `foo' is now
+unbound in the body.  However, such code was not R5RS-compliant anyway,
+per Section 5.2.1.
+
 * Bugs fixed
 
 ** Fractions were not `equal?' if stored in unreduced form.
@@ -291,8 +331,6 @@ Changes in 1.8.1 (since 1.8.0):
 ** scm_exp - [C]
 ** scm_sqrt - [C]
 
-* New `(ice-9 i18n)' module (see the manual for details)
-
 * Bugs fixed
 
 ** Build problems have been fixed on MacOS, SunOS, and QNX.