Changes from arch/CVS synchronization
[bpt/guile.git] / NEWS
diff --git a/NEWS b/NEWS
index d09bea9..349369c 100644 (file)
--- a/NEWS
+++ b/NEWS
 Guile NEWS --- history of user-visible changes.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 See the end for copying conditions.
 
-Please send Guile bug reports to bug-guile@gnu.org.
+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.
 
-Each release reports the NEWS in the following sections:
+\f
+Changes in 1.9.0:
+
+* New modules (see the manual for details)
+
+** The `(ice-9 i18n)' module provides internationalization support
 
 * Changes to the distribution
+
+** Guile now uses Gnulib as a portability aid
+
 * Changes to the stand-alone interpreter
 * Changes to Scheme functions and syntax
-* Changes to the C interface 
+
+** A new 'memoize-symbol evaluator trap has been added.  This trap can
+be used for efficiently implementing a Scheme code coverage.
+
+** Duplicate bindings among used modules are resolved lazily.
+This slightly improves program startup times.
+
+* Changes to the C interface
+
+** Functions for handling `scm_option' now no longer require an argument
+indicating length of the `scm_t_option' array.
+
+\f
+Changes in 1.8.3 (since 1.8.2)
+
+* New modules (see the manual for details)
+
+** `(srfi srfi-35)'
+** `(srfi srfi-37)'
+
+* Bugs fixed
+
+** Expressions like "(set! 'x #t)" no longer yield a crash
+
+* Implementation improvements
+
+** Procedures returned by `record-accessor' and `record-modifier' are faster
+
+
+\f
+Changes in 1.8.2 (since 1.8.1):
+
+* New procedures (see the manual for details)
+
+** set-program-arguments
+** make-vtable
+
+* Bugs fixed
+
+** Fractions were not `equal?' if stored in unreduced form.
+(A subtle problem, since printing a value reduced it, making it work.)
+** srfi-60 `copy-bit' failed on 64-bit systems
+** "guile --use-srfi" option at the REPL can replace core functions
+(Programs run with that option were ok, but in the interactive REPL
+the core bindings got priority, preventing SRFI replacements or
+extensions.)
+** `regexp-exec' doesn't abort() on #\nul in the input or bad flags arg
+** `kill' on mingw throws an error for a PID other than oneself
+** Procedure names are attached to procedure-with-setters
+** Array read syntax works with negative lower bound
+** `array-in-bounds?' fix if an array has different lower bounds on each index
+** `*' returns exact 0 for "(* inexact 0)"
+This follows what it always did for "(* 0 inexact)".
+** SRFI-19: Value returned by `(current-time time-process)' was incorrect
+** SRFI-19: `date->julian-day' did not account for timezone offset
+** `ttyname' no longer crashes when passed a non-tty argument
+** `inet-ntop' no longer crashes on SPARC when passed an `AF_INET' address
+** Small memory leaks have been fixed in `make-fluid' and `add-history'
+** GOOPS: Fixed a bug in `method-more-specific?'
+** Build problems on Solaris fixed
+** Build problems on HP-UX IA64 fixed
+** Build problems on MinGW fixed
+
+\f
+Changes in 1.8.1 (since 1.8.0):
+
+* LFS functions are now used to access 64-bit files on 32-bit systems.
+
+* New procedures (see the manual for details)
+
+** primitive-_exit - [Scheme] the-root-module
+** scm_primitive__exit - [C]
+** make-completion-function - [Scheme] (ice-9 readline)
+** scm_c_locale_stringn_to_number - [C]
+** scm_srfi1_append_reverse [C]
+** scm_srfi1_append_reverse_x [C]
+** scm_log - [C]
+** scm_log10 - [C]
+** 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.
+
+** `strftime' fix sign of %z timezone offset.
+
+** A one-dimensional array can now be 'equal?' to a vector.
+
+** Structures, records, and SRFI-9 records can now be compared with `equal?'.
+
+** SRFI-14 standard char sets are recomputed upon a successful `setlocale'.
+
+** `record-accessor' and `record-modifier' now have strict type checks.
+
+Record accessor and modifier procedures now throw an error if the
+record type of the record they're given is not the type expected.
+(Previously accessors returned #f and modifiers silently did nothing).
+
+** It is now OK to use both autoload and use-modules on a given module.
+
+** `apply' checks the number of arguments more carefully on "0 or 1" funcs.
+
+Previously there was no checking on primatives like make-vector that
+accept "one or two" arguments.  Now there is.
+
+** The srfi-1 assoc function now calls its equality predicate properly.
+
+Previously srfi-1 assoc would call the equality predicate with the key
+last.  According to the SRFI, the key should be first.
+
+** A bug in n-par-for-each and n-for-each-par-map has been fixed.
+
+** The array-set! procedure no longer segfaults when given a bit vector.
+
+** Bugs in make-shared-array have been fixed.
+
+** string<? and friends now follow char<? etc order on 8-bit chars.
+
+** The format procedure now handles inf and nan values for ~f correctly.
+
+** exact->inexact should no longer overflow when given certain large fractions.
+
+** srfi-9 accessor and modifier procedures now have strict record type checks.
+
+This matches the srfi-9 specification.
+
+** (ice-9 ftw) procedures won't ignore different files with same inode number.
+
+Previously the (ice-9 ftw) procedures would ignore any file that had
+the same inode number as a file they had already seen, even if that
+file was on a different device.
 
 \f
-Changes since the 1.6.x series:
+Changes in 1.8.0 (changes since the 1.6.x series):
 
 * Changes to the distribution
 
@@ -34,10 +177,10 @@ headers.
 Guile now provides scm_effective_version and effective-version
 functions which return the "effective" version number.  This is just
 the normal full version string without the final micro-version number,
-so the current effective-version is "1.7".  The effective version
+so the current effective-version is "1.8".  The effective version
 should remain unchanged during a stable series, and should be used for
 items like the versioned share directory name
-i.e. /usr/share/guile/1.7.
+i.e. /usr/share/guile/1.8.
 
 Providing an unchanging version number during a stable release for
 things like the versioned share directory can be particularly
@@ -7049,7 +7192,7 @@ Until then, gtcltk-lib provides trivial, low-maintenance functionality.
 \f
 Copyright information:
 
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2006 Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the