Don't use scm_generalized_vector_get_handle() in array-map.c
[bpt/guile.git] / NEWS
diff --git a/NEWS b/NEWS
index d68e3e4..348c2f6 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -13,13 +13,9 @@ Reorder points in order of importance and make comprehensible
 
 Assemble thanks
 
-file name docs
-
-gnulib version
-
 * Notable changes
 
-** New guile.m4
+** New guile.m4.
 
 The `guile.m4' autoconf macros have been rewritten to use `guild' and
 `pkg-config' instead of the deprecated `guile-config' (which itself
@@ -29,7 +25,7 @@ There is also a new macro, `GUILE_PKG', which allows packages to select
 the version of Guile that they want to compile against.  See "Autoconf
 Macros" in the manual, for more information.
 
-** Better Windows support
+** Better Windows support.
 
 Guile now correctly identifies absolute paths on Windows (MinGW), and
 creates files on that platform according to its path conventions.  See
@@ -45,65 +41,72 @@ definitions for FD_SET, FD_ZERO, and other system interface.  Guile
 should not be setting these macros in public API, so this interface was
 removed on those plaforms (basically only MinGW).
 
-** Gnulib update
+** Gnulib update.
 
-Guile's copy of Gnulib was updated to XXX.  The following modules were
-imported from Gnulib: select, times, pipe-posix, fstat, getlogin, and
-poll.
+Guile's copy of Gnulib was updated to v0.0-7865-ga828bb2.  The following
+modules were imported from Gnulib: select, times, pipe-posix, fstat,
+getlogin, and poll.
 
-** Optimizations
+** New optimizations.
 
 There were a number of improvements to the partial evaluator, allowing
-complete reduction of forms like:
+complete reduction of forms such as:
 
   ((let ((_ 10)) (lambda () _)))
 
   ((lambda _ _))
 
-  (apply (lambda _) 1 2 3 4)
+  (apply (lambda _ _) 1 2 3 '(4))
 
   (call-with-values (lambda () (values 1 2)) (lambda _ _))
 
 A number (ahem) of numeric operations on have been made faster, among
 them GCD and logarithms.
 
-Finally, `array-ref' and `array-set!' on arrays of rank 1 or 2 is now
-faster, because it avoids building a rest list.
+Finally, `array-ref', `array-set!' on arrays of rank 1 or 2 is now
+faster, because it avoids building a rest list.  Similarly, the
+one-argument case of `array-for-each' and `array-map!' has been
+optimized, and `array-copy!' and `array-fill!' are faster.
 
-** `include' relative file names relative to including file
+** `include' resolves relative file names relative to including file.
 
 Given a relative file name, `include' will look for it relative to the
 directory of the including file.  This harmonizes the behavior of
 `include' with that of `load'.
 
-** SLIB compatibility restored
+** SLIB compatibility restored.
 
 Guile 2.0.8 is now compatible with SLIB.  You will have to use a
 development version of SLIB, however, until a new version of SLIB is
 released.
 
-** Better ,trace REPL command
+** Better ,trace REPL command.
 
 Sometimes the ,trace output for nested function calls could overflow the
 terminal width, which wasn't useful.  Now there is a limit to the amount
 of space the prefix will take.  See the documentation for ",trace" for
 more information.
 
-** Update predefined character sets to Unicode 6.2
+** Update predefined character sets to Unicode 6.2.
+
+** GMP 4.2 or later required
+
+Guile used to require GMP at least version 4.1 (released in May 2002),
+and now requires at least version 4.2 (released in March 2006).
 
 * Manual updates
 
-** Better SXML documentation
+** Better SXML documentation.
 
 The documentation for SXML modules was much improved, though there is
 still far to go.  See "SXML" in manual.
 
-** Style updates
+** Style updates.
 
 Use of "iff" was replaced with standard English.  Keyword arguments are
 now documented consistently, along with their default values.
 
-** An end to the generated-documentation experiment
+** An end to the generated-documentation experiment.
 
 When Guile 2.0 imported some modules from Guile-Lib, they came with a
 system that generated documentation from docstrings and module
@@ -112,7 +115,7 @@ bullet and incorporated these modules into the main text, and will be
 improving them manually over time, as is the case with SXML.  Help is
 appreciated.
 
-** New documentation
+** New documentation.
 
 There is now documentation for `scm_array_type', and `scm_array_ref', as
 well as for the new `array-length' / 'scm_c_array_length' /
@@ -124,7 +127,7 @@ output formats.
 
 * New deprecations
 
-** Deprecate generalized vector interface
+** Deprecate generalized vector interface.
 
 The generalized vector interface, introduced in 1.8.0, is simply a
 redundant, verbose interface to arrays of rank 1.  `array-ref' and
@@ -133,99 +136,121 @@ similar functions are entirely sufficient.  Thus,
 `scm_generalized_vector_ref', `scm_generalized_vector_set_x', and
 `scm_generalized_vector_to_list' are now deprecated.
 
-** Deprecate SCM_CHAR_CODE_LIMIT and char-code-limit
+** Deprecate SCM_CHAR_CODE_LIMIT and char-code-limit.
 
 These constants were defined to 256, which is not the highest codepoint
 supported by Guile.  Given that they were useless and incorrect, they
 have been deprecated.
 
-** Deprecate `http-get*'
+** Deprecate `http-get*'.
 
 The new `#:streaming?' argument to `http-get' subsumes the functionality
-of `http-get*'.  Also, the `#:extra-headers' argument is deprecated in
-favor of `#:headers'.
+of `http-get*' (introduced in 2.0.7).  Also, the `#:extra-headers'
+argument is deprecated in favor of `#:headers'.
 
-** Deprecate (ice-9 mapping)
+** Deprecate (ice-9 mapping).
 
 This module, present in Guile since 1996 but never used or documented,
 has never worked in Guile 2.0.  It has now been deprecated and will be
 removed in Guile 2.2.
 
+** Deprecate undocumented array-related C functions.
+
+These are `scm_array_fill_int', `scm_ra_eqp', `scm_ra_lessp',
+`scm_ra_leqp', `scm_ra_grp', `scm_ra_greqp', `scm_ra_sum',
+`scm_ra_product', `scm_ra_difference', `scm_ra_divide', and
+`scm_array_identity'.
+
+
 * New interfaces
 
-** round-ash
+** `round-ash', a bit-shifting operator that rounds on right-shift.
 
-"Bitwise Operations"
+See "Bitwise Operations".
 
-** GUILE_STACK_SIZE
+** New environment variables: `GUILE_STACK_SIZE', `GUILE_INSTALL_LOCALE'.
 
-"Environment Variables"
+See "Environment Variables".
 
-** GUILE_INSTALL_LOCALE
+** New procedure `sendfile'.
 
-"Environment Variables"
+See "File System".
 
-** file names
+** New procedures for dealing with file names.
 
-system-file-name-convention, file-name-separator?,
-absolute-file-name? file-name-separator-string
+See "File System" for documentation on `system-file-name-convention',
+`file-name-separator?', `absolute-file-name?', and
+`file-name-separator-string'.
 
-missing docs
+** Escape continuations with `call/ec' and `let/ec'
 
-** array-length
+See "Prompt Primitives".
 
-Array Procedures
+** `array-length', an array's first dimension.
 
-** add hash-count for native tables
+See "Array Procedures".
 
-Hash Tables
+** `hash-count', for hash tables.
 
-** Add foreign types: ssize_t and ptrdiff_t.
-    
-Foreign Types
+See "Hash Tables".
 
-** Add scm_from_ptrdiff_t and scm_to_ptrdiff_t.
+** New foreign types: `ssize_t', `ptrdiff_t'.
+    
+See "Foreign Types".
 
-Integers
+** New C helpers: `scm_from_ptrdiff_t', `scm_to_ptrdiff_t'.
 
-** much more capable xml->sxml
+See "Integers".
 
-namespaces, processed entities, doctypes, literal strings... see
-"Reading and Writing XML"
+** Much more capable `xml->sxml'
 
-** add --language argument to guile
+See "Reading and Writing XML" for information on how the `xml->sxml'
+parser deals with namespaces, processed entities, doctypes, and literal
+strings.  Incidentally, `current-ssax-error-port' is now a parameter
+object.
 
-needs docs
+** New command-line argument: `--language'.
 
-** current-language is a parameter in boot-9
+See "Command-line Options" in the manual.
 
-Compiler Tower; repl, compile-and-load default to current language
+** `current-language' in default environment.
 
-** add fluid->parameter
+Previously defined only in `(system base language)', `current-language'
+is now defined in the default environment, and is used to determine the
+language for the REPL, and for `compile-and-load'.
 
-Parameters in manual
+** New procedure: `fluid->parameter'
 
-** add read-string and read-string! to (ice-9 rdelim)
+See "Parameters", for information on how to convert a fluid to a
+parameter.
 
-Line/Delimited in manual
+** New procedures to read all characters from a port
 
-** http-head, http-post, http-put, http-delete, http-trace http-options
+See "Line/Delimited" in the manual for documentation on `read-string'
+ and `read-string!'.
 
-"Web Client"
+** New HTTP client procedures.
 
-** add bytevector->string and string->bytevector in new (ice-9 iconv) module
+See "Web Client" for documentation on the new `http-head', `http-post',
+`http-put', `http-delete', `http-trace', and `http-options' procedures,
+and also for more options to `http-get'.
 
-"Representing Strings as Bytes"
+** New procedures for converting strings to and from bytevectors.
 
-** add repl-option for customized print
+See "Representing Strings as Bytes" for documention on the new `(ice-9
+iconv)' module and its `bytevector->string' and `string->bytevector'
+procedures.
 
-"REPL Commands" in the manual (,option print ...)
+** New `print' REPL option.
 
-** current-ssax-error-port is a parameter
+See "REPL Commands" in the manual for information on the new
+user-customizable REPL printer.
 
-** %site-ccache-dir
+** New variable: %site-ccache-dir.
     
-"Installing Site Packages", "Build Config"
+The "Installing Site Packages" and "Build Config" manual sections now
+refer to this variable to describe where users should install their
+`.go' files.
 
 * Build fixes
 
@@ -233,69 +258,76 @@ Line/Delimited in manual
 ** Fix cross-compilation of `c-tokenize.o'.
 ** Fix warning when compiling against glibc 2.17.
 ** Fix documentation build against Texinfo 5.0.
-** Fix building Guile from a directory with non-ASCII characters
-** Fix native MinGW build
-** Fix MinGW builds with networking, POSIX, and thread support
+** Fix building Guile from a directory with non-ASCII characters.
+** Fix native MinGW build.
+** Fix --disable-posix build.
+** Fix MinGW builds with networking, POSIX, and thread support.
 
 * Bug fixes
 
-** warn on multithreaded fork
-
-** allow for spurious wakeups from pthread_cond_wait
+** SRFI-37: Fix infinite loop when parsing optional-argument short options
+   (http://bugs.gnu.org/13176)
+** web: Support non-GMT date headers in the HTTP client
+   (http://bugs.gnu.org/13544)
+** Avoid stack overflows with `par-map' and nested futures in general
+   (http://bugs.gnu.org/13188)
+** A fork when multiple threads are running will now print a warning.
+** Allow for spurious wakeups from pthread_cond_wait.
    (http://bugs.gnu.org/10641)
-** fix psyntax vs autoload
+** Warn and ignore module autoload failures.
    (http://bugs.gnu.org/12202)
-** use chmod portably in (system base compile)
-** fix response-body-port for responses without content-length
-** allow case-lambda expressions with no clauses
+** Use chmod portably in (system base compile).
+   (http://bugs.gnu.org/10474)
+** Fix response-body-port for HTTP responses without content-length.
+   (http://bugs.gnu.org/13857)
+** Allow case-lambda expressions with no clauses.
+   (http://bugs.gnu.org/9776)
 ** Improve standards conformance of string->number.
    (http://bugs.gnu.org/11887)
-** support calls and tail-calls with more than 255 formals
-** ,option evaluates its right-hand-side
+** Support calls and tail-calls with more than 255 formals.
+** ,option evaluates its right-hand-side.
    (http://bugs.gnu.org/13076)
-** structs with tail arrays are not simple
+** Structs with tail arrays are not simple.
    (http://bugs.gnu.org/12808)
 ** Make `SCM_LONG_BIT' usable in preprocessor conditionals.
    (http://bugs.gnu.org/13848)
 ** Fix thread-unsafe lazy initializations.
-** Allow the SMOB mark procedures to be called when libgc uses parallel markers.
+** Allow SMOB mark procedures to be called from parallel markers.
    (http://bugs.gnu.org/13611)
 ** Fix later-bindings-win logic in with-fluids.
    (http://bugs.gnu.org/13843)
 ** Fix duplicate removal of with-fluids.
    (http://bugs.gnu.org/13838)
 ** Support calling foreign functions of 10 arguments or more.
-** Let reverse! accept arbitrary types as second argument (new_tail)
+   (http://bugs.gnu.org/13809)
+** Let reverse! accept arbitrary types as second argument.
+   (http://bugs.gnu.org/13835)
 ** Recognize the `x86_64.*-gnux32' triplet.
 ** Check whether a triplet's OS part specifies an ABI.
 ** Recognize mips64* as having 32-bit pointers by default.
-** remove language/glil/decompile-assembly.scm
-** random_state_of_last_resort doesn't rely on HAVE_POSIX
-** copy-file, load-objcode, mkstemp use O_BINARY
-** fix compilation of functions with more than 255 local variables.
+** Remove language/glil/decompile-assembly.scm.
+   (http://bugs.gnu.org/10622)
+** Use O_BINARY in `copy-file', `load-objcode', `mkstemp'.
+** Fix compilation of functions with more than 255 local variables.
 ** Fix `getgroups' for when zero supplementary group IDs exist.
-** allow (define-macro name (lambda ...))
-** (texinfo): add a command-spec for @math{}.
-** (texinfo docbook): informaltable is a block element.
-** (texinfo plain-text): Pass @math{} through as-is.
-** (texinfo serialize): don't break words when wrapping
+** Allow (define-macro name (lambda ...)).
+** Various fixes to the (texinfo) modules.
 ** guild: Gracefully handle failures to install the locale.
-** Fix argument count for various format string escape sequences (in warning pass)
+** Fix format string warnings for ~!, ~|, ~/, ~q, ~Q, and ~^.
+   (http://bugs.gnu.org/13485)
 ** Fix source annotation bug in psyntax 'expand-body'.
-** ecmascript: Fix conversion to boolean for non-numbers.
-** fix try-module-autoload, which did not detect failure to find the file
-
-file not found vs failure to load module.
-
-** Many (oop goops save) fixes
-** http-get: don't shutdown write end of socket
-** Avoid signed integer overflow in scm_product
-** http: read-response-body always returns bytevector or #f (not EOF in one case)
+** Ecmascript: Fix conversion to boolean for non-numbers.
+** A failure to find a module's file does not prevent future loading.
+** Many (oop goops save) fixes.
+** `http-get': don't shutdown write end of socket.
+   (http://bugs.gnu.org/13095)
+** Avoid signed integer overflow in scm_product.
+** http: read-response-body always returns bytevector or #f, never EOF.
 ** web: Correctly detect "No route to host" conditions.
 ** `system*': failure to execvp no longer leaks dangling processes
    (http://bugs.gnu.org/13166)
 ** More sensible case-lambda* dispatch
-   (http://bugs.gnu.org/12929; see "Case-Lambda" in the manual)
+   (http://bugs.gnu.org/12929)
 ** Do not defer expansion of internal define-syntax forms.
    (http://bugs.gnu.org/13509)