1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

more NEWS

* NEWS: Update.
This commit is contained in:
Andy Wingo 2013-03-15 22:21:34 +01:00 committed by Andy Wingo
parent f361bb937a
commit 01b83dbd1a

197
NEWS
View file

@ -17,9 +17,11 @@ file name docs
gnulib version gnulib version
--language docs
* Notable changes * Notable changes
** New guile.m4 ** New guile.m4.
The `guile.m4' autoconf macros have been rewritten to use `guild' and The `guile.m4' autoconf macros have been rewritten to use `guild' and
`pkg-config' instead of the deprecated `guile-config' (which itself `pkg-config' instead of the deprecated `guile-config' (which itself
@ -29,7 +31,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 the version of Guile that they want to compile against. See "Autoconf
Macros" in the manual, for more information. Macros" in the manual, for more information.
** Better Windows support ** Better Windows support.
Guile now correctly identifies absolute paths on Windows (MinGW), and Guile now correctly identifies absolute paths on Windows (MinGW), and
creates files on that platform according to its path conventions. See creates files on that platform according to its path conventions. See
@ -45,16 +47,16 @@ definitions for FD_SET, FD_ZERO, and other system interface. Guile
should not be setting these macros in public API, so this interface was should not be setting these macros in public API, so this interface was
removed on those plaforms (basically only MinGW). removed on those plaforms (basically only MinGW).
** Gnulib update ** Gnulib update.
Guile's copy of Gnulib was updated to XXX. The following modules were Guile's copy of Gnulib was updated to XXX. The following modules were
imported from Gnulib: select, times, pipe-posix, fstat, getlogin, and imported from Gnulib: select, times, pipe-posix, fstat, getlogin, and
poll. poll.
** Optimizations ** New optimizations.
There were a number of improvements to the partial evaluator, allowing 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 () _))) ((let ((_ 10)) (lambda () _)))
@ -70,40 +72,40 @@ them GCD and logarithms.
Finally, `array-ref' and `array-set!' on arrays of rank 1 or 2 is now Finally, `array-ref' and `array-set!' on arrays of rank 1 or 2 is now
faster, because it avoids building a rest list. faster, because it avoids building a rest list.
** `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 Given a relative file name, `include' will look for it relative to the
directory of the including file. This harmonizes the behavior of directory of the including file. This harmonizes the behavior of
`include' with that of `load'. `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 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 development version of SLIB, however, until a new version of SLIB is
released. released.
** Better ,trace REPL command ** Better ,trace REPL command.
Sometimes the ,trace output for nested function calls could overflow the 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 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 of space the prefix will take. See the documentation for ",trace" for
more information. more information.
** Update predefined character sets to Unicode 6.2 ** Update predefined character sets to Unicode 6.2.
* Manual updates * Manual updates
** Better SXML documentation ** Better SXML documentation.
The documentation for SXML modules was much improved, though there is The documentation for SXML modules was much improved, though there is
still far to go. See "SXML" in manual. still far to go. See "SXML" in manual.
** Style updates ** Style updates.
Use of "iff" was replaced with standard English. Keyword arguments are Use of "iff" was replaced with standard English. Keyword arguments are
now documented consistently, along with their default values. 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 When Guile 2.0 imported some modules from Guile-Lib, they came with a
system that generated documentation from docstrings and module system that generated documentation from docstrings and module
@ -112,7 +114,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 improving them manually over time, as is the case with SXML. Help is
appreciated. appreciated.
** New documentation ** New documentation.
There is now documentation for `scm_array_type', and `scm_array_ref', as There is now documentation for `scm_array_type', and `scm_array_ref', as
well as for the new `array-length' / 'scm_c_array_length' / well as for the new `array-length' / 'scm_c_array_length' /
@ -124,7 +126,7 @@ output formats.
* New deprecations * New deprecations
** Deprecate generalized vector interface ** Deprecate generalized vector interface.
The generalized vector interface, introduced in 1.8.0, is simply a The generalized vector interface, introduced in 1.8.0, is simply a
redundant, verbose interface to arrays of rank 1. `array-ref' and redundant, verbose interface to arrays of rank 1. `array-ref' and
@ -133,19 +135,19 @@ similar functions are entirely sufficient. Thus,
`scm_generalized_vector_ref', `scm_generalized_vector_set_x', and `scm_generalized_vector_ref', `scm_generalized_vector_set_x', and
`scm_generalized_vector_to_list' are now deprecated. `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 These constants were defined to 256, which is not the highest codepoint
supported by Guile. Given that they were useless and incorrect, they supported by Guile. Given that they were useless and incorrect, they
have been deprecated. have been deprecated.
** Deprecate `http-get*' ** Deprecate `http-get*'.
The new `#:streaming?' argument to `http-get' subsumes the functionality The new `#:streaming?' argument to `http-get' subsumes the functionality
of `http-get*'. Also, the `#:extra-headers' argument is deprecated in of `http-get*'. Also, the `#:extra-headers' argument is deprecated in
favor of `#:headers'. favor of `#:headers'.
** Deprecate (ice-9 mapping) ** Deprecate (ice-9 mapping).
This module, present in Guile since 1996 but never used or documented, 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 has never worked in Guile 2.0. It has now been deprecated and will be
@ -153,79 +155,85 @@ removed in Guile 2.2.
* New interfaces * 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 procedures for dealing with file names.
"Environment Variables" See XXX for documentation on `system-file-name-convention',
`file-name-separator?', `absolute-file-name?', and
`file-name-separator-string'.
** file names ** `array-length', an array's first dimension.
system-file-name-convention, file-name-separator?, See "Array Procedures".
absolute-file-name? file-name-separator-string
missing docs ** `hash-count', for hash tables.
** array-length See "Hash Tables".
Array Procedures ** New foreign types: `ssize_t', `ptrdiff_t'.
** add hash-count for native tables
Hash Tables
** Add foreign types: ssize_t and ptrdiff_t.
Foreign Types See "Foreign Types".
** Add scm_from_ptrdiff_t and scm_to_ptrdiff_t. ** New C helpers: `scm_from_ptrdiff_t', `scm_to_ptrdiff_t'.
Integers See "Integers".
** much more capable xml->sxml ** Much more capable `xml->sxml'
namespaces, processed entities, doctypes, literal strings... see See "Reading and Writing XML" for information on how the `xml->sxml'
"Reading and Writing XML" parser deals with namespaces, processed entities, doctypes, and literal
strings. Incidentally, `current-ssax-error-port' is now a parameter
object.
** add --language argument to guile ** New command-line argument: `--language'
needs docs See XXX in the manual.
** current-language is a parameter in boot-9 ** `current-language' in default environment.
Compiler Tower; repl, compile-and-load default to current language 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'.
** add fluid->parameter ** New procedure: `fluid->parameter'
Parameters in manual See "Parameters", for information on how to convert a fluid to a
parameter.
** add read-string and read-string! to (ice-9 rdelim) ** New procedures to read all characters from a port
Line/Delimited in manual See "Line/Delimited" in the manual for documentation on `read-string'
and `read-string!'.
** http-head, http-post, http-put, http-delete, http-trace http-options ** New HTTP client procedures.
"Web Client" 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'.
** add bytevector->string and string->bytevector in new (ice-9 iconv) module ** New procedures for converting strings to and from bytevectors.
"Representing Strings as Bytes" See "Representing Strings as Bytes" for documention on the new `(ice-9
iconv)' module and its `bytevector->string' and `string->bytevector'
procedures.
** add repl-option for customized print ** New `print' REPL option.
"REPL Commands" in the manual (,option print ...) See "REPL Commands" in the manual for information on the new
user-customizable REPL printer.
** current-ssax-error-port is a parameter ** New variable: %site-ccache-dir.
** %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 * Build fixes
@ -233,69 +241,70 @@ Line/Delimited in manual
** Fix cross-compilation of `c-tokenize.o'. ** Fix cross-compilation of `c-tokenize.o'.
** Fix warning when compiling against glibc 2.17. ** Fix warning when compiling against glibc 2.17.
** Fix documentation build against Texinfo 5.0. ** Fix documentation build against Texinfo 5.0.
** Fix building Guile from a directory with non-ASCII characters ** Fix building Guile from a directory with non-ASCII characters.
** Fix native MinGW build ** Fix native MinGW build.
** Fix MinGW builds with networking, POSIX, and thread support ** Fix --disable-posix build.
** Fix MinGW builds with networking, POSIX, and thread support.
* Bug fixes * Bug fixes
** warn on multithreaded fork ** A fork when multiple threads are running will now print a warning.
** Allow for spurious wakeups from pthread_cond_wait.
** allow for spurious wakeups from pthread_cond_wait
(http://bugs.gnu.org/10641) (http://bugs.gnu.org/10641)
** fix psyntax vs autoload ** Warn and ignore module autoload failures.
(http://bugs.gnu.org/12202) (http://bugs.gnu.org/12202)
** use chmod portably in (system base compile) ** Use chmod portably in (system base compile).
** fix response-body-port for responses without content-length (http://bugs.gnu.org/10474)
** allow case-lambda expressions with no clauses ** Fix response-body-port for 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. ** Improve standards conformance of string->number.
(http://bugs.gnu.org/11887) (http://bugs.gnu.org/11887)
** support calls and tail-calls with more than 255 formals ** Support calls and tail-calls with more than 255 formals.
** ,option evaluates its right-hand-side ** ,option evaluates its right-hand-side.
(http://bugs.gnu.org/13076) (http://bugs.gnu.org/13076)
** structs with tail arrays are not simple ** Structs with tail arrays are not simple.
(http://bugs.gnu.org/12808) (http://bugs.gnu.org/12808)
** Make `SCM_LONG_BIT' usable in preprocessor conditionals. ** Make `SCM_LONG_BIT' usable in preprocessor conditionals.
(http://bugs.gnu.org/13848) (http://bugs.gnu.org/13848)
** Fix thread-unsafe lazy initializations. ** 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) (http://bugs.gnu.org/13611)
** Fix later-bindings-win logic in with-fluids. ** Fix later-bindings-win logic in with-fluids.
(http://bugs.gnu.org/13843) (http://bugs.gnu.org/13843)
** Fix duplicate removal of with-fluids. ** Fix duplicate removal of with-fluids.
(http://bugs.gnu.org/13838) (http://bugs.gnu.org/13838)
** Support calling foreign functions of 10 arguments or more. ** 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. ** Recognize the `x86_64.*-gnux32' triplet.
** Check whether a triplet's OS part specifies an ABI. ** Check whether a triplet's OS part specifies an ABI.
** Recognize mips64* as having 32-bit pointers by default. ** Recognize mips64* as having 32-bit pointers by default.
** remove language/glil/decompile-assembly.scm ** Remove language/glil/decompile-assembly.scm.
** random_state_of_last_resort doesn't rely on HAVE_POSIX (http://bugs.gnu.org/10622)
** copy-file, load-objcode, mkstemp use O_BINARY ** Use O_BINARY in `copy-file', `load-objcode', `mkstemp'.
** fix compilation of functions with more than 255 local variables. ** Fix compilation of functions with more than 255 local variables.
** Fix `getgroups' for when zero supplementary group IDs exist. ** Fix `getgroups' for when zero supplementary group IDs exist.
** allow (define-macro name (lambda ...)) ** Allow (define-macro name (lambda ...)).
** (texinfo): add a command-spec for @math{}. ** Various fixes to the (texinfo) modules.
** (texinfo docbook): informaltable is a block element.
** (texinfo plain-text): Pass @math{} through as-is.
** (texinfo serialize): don't break words when wrapping
** guild: Gracefully handle failures to install the locale. ** 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'. ** Fix source annotation bug in psyntax 'expand-body'.
** ecmascript: Fix conversion to boolean for non-numbers. ** Ecmascript: Fix conversion to boolean for non-numbers.
** fix try-module-autoload, which did not detect failure to find the file ** A failure to find a module's file does not prevent future loading.
** Many (oop goops save) fixes.
file not found vs failure to load module. ** `http-get': don't shutdown write end of socket.
(http://bugs.gnu.org/13095)
** Many (oop goops save) fixes ** Avoid signed integer overflow in scm_product.
** http-get: don't shutdown write end of socket ** http: read-response-body always returns bytevector or #f (not EOF in one case).
** Avoid signed integer overflow in scm_product
** http: read-response-body always returns bytevector or #f (not EOF in one case)
** web: Correctly detect "No route to host" conditions. ** web: Correctly detect "No route to host" conditions.
** `system*': failure to execvp no longer leaks dangling processes ** `system*': failure to execvp no longer leaks dangling processes
(http://bugs.gnu.org/13166) (http://bugs.gnu.org/13166)
** More sensible case-lambda* dispatch ** 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. ** Do not defer expansion of internal define-syntax forms.
(http://bugs.gnu.org/13509) (http://bugs.gnu.org/13509)