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
--language docs
* 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 +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
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,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
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.
** 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 () _)))
@ -70,40 +72,40 @@ 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.
** `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.
* 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 +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
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 +126,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,19 +135,19 @@ 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'.
** 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
@ -153,79 +155,85 @@ removed in Guile 2.2.
* 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?,
absolute-file-name? file-name-separator-string
See "Array Procedures".
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
See "Foreign Types".
Hash Tables
** New C helpers: `scm_from_ptrdiff_t', `scm_to_ptrdiff_t'.
** Add foreign types: ssize_t and ptrdiff_t.
See "Integers".
Foreign Types
** Much more capable `xml->sxml'
** Add scm_from_ptrdiff_t and scm_to_ptrdiff_t.
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.
Integers
** New command-line argument: `--language'
** much more capable xml->sxml
See XXX in the manual.
namespaces, processed entities, doctypes, literal strings... see
"Reading and Writing XML"
** `current-language' in default environment.
** add --language argument to guile
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'.
needs docs
** New procedure: `fluid->parameter'
** current-language is a parameter in boot-9
See "Parameters", for information on how to convert a fluid to a
parameter.
Compiler Tower; repl, compile-and-load default to current language
** New procedures to read all characters from a port
** add fluid->parameter
See "Line/Delimited" in the manual for documentation on `read-string'
and `read-string!'.
Parameters in manual
** New HTTP client procedures.
** add read-string and read-string! to (ice-9 rdelim)
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'.
Line/Delimited in manual
** New procedures for converting strings to and from bytevectors.
** http-head, http-post, http-put, http-delete, http-trace http-options
See "Representing Strings as Bytes" for documention on the new `(ice-9
iconv)' module and its `bytevector->string' and `string->bytevector'
procedures.
"Web Client"
** New `print' REPL option.
** add bytevector->string and string->bytevector in new (ice-9 iconv) module
See "REPL Commands" in the manual for information on the new
user-customizable REPL printer.
"Representing Strings as Bytes"
** New variable: %site-ccache-dir.
** add repl-option for customized print
"REPL Commands" in the manual (,option print ...)
** current-ssax-error-port is a parameter
** %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 +241,70 @@ 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
** 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 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 (not EOF in one case).
** 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)