1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00

Update NEWS.

* NEWS: Move "New interfaces" higher.  Complement.
This commit is contained in:
Ludovic Courtès 2014-03-17 21:55:26 +01:00
parent b7faf399c1
commit c68b9470e9

150
NEWS
View file

@ -14,8 +14,9 @@ Reorganization would also be helpful.]
** New GDB extension to support Guile ** New GDB extension to support Guile
[XXX elaborate. Maybe also mention the addition of 'gdbinit' to the Guile now comes with an extension for GDB 7.8 or later (unreleased at
distribution.] the time of writing) that simplifies debugging of C code that uses
Guile. See "GDB Support" in the manual.
** Improved integration between R6RS and native Guile exceptions ** Improved integration between R6RS and native Guile exceptions
@ -57,7 +58,8 @@ The pipe character may now be preceded by a backslash, per R7RS.
** Custom binary input ports now support 'setvbuf'. ** Custom binary input ports now support 'setvbuf'.
[XXX elaborate?] Until now, ports returned by 'make-custom-binary-input-port' were always
full-buffered. Now, their buffering mode can be changed using 'setvbuf'.
** SRFI-4 predicates and length accessors no longer accept arrays. ** SRFI-4 predicates and length accessors no longer accept arrays.
@ -106,74 +108,8 @@ Guile's copy of Gnulib was updated to v0.1-92-g546ff82. The following
modules were imported from Gnulib: copysign, fsync, isfinite, link, modules were imported from Gnulib: copysign, fsync, isfinite, link,
lstat, mkdir, mkstemp, readlink, rename, rmdir, and unistd. lstat, mkdir, mkstemp, readlink, rename, rmdir, and unistd.
* Manual updates
** Improve docs for 'eval-when'.
Each 'eval-when' condition is now explained in detail, including
'expand' which was previously undocumented. (expand load eval) is now
the recommended set of conditions, instead of (compile load eval).
See "Eval When" in the manual, for details.
** Update the section on SMOBs and memory management.
[XXX elaborate, and cite manual]
** Fixes
[XXX Do these belong here or in the bug fixes section?]
*** GOOPS: #:dsupers is the init keyword for the dsupers slot.
*** 'unfold-right' takes a tail, not a tail generator.
*** Clarify that 'append!' and 'reverse!' might not mutate.
*** Fix doc that incorrectly claimed (integer? +inf.0) => #t.
(http://bugs.gnu.org/16356)
*** Document that we support SRFI-62 (S-expression comments).
*** Document that we support SRFI-87 (=> in case clauses).
*** Document 'equal?' in the list of R6RS incompatibilities.
*** Remove outdated documentation of LTDL_LIBRARY_PATH.
*** Fix 'weak-vector?' doc: Weak hash tables are not weak vectors.
*** [XXX too minor?] Fix 'my-or' examples to use let-bound variable.
(http://bugs.gnu.org/14203)
*** [XXX too minor?] Fix nested block comment example.
* New deprecations
** General 'uniform-vector' interface
This interface lacked both generality and specificity. The general
replacements are 'array-length', 'array-ref', and friends on the scheme
side, and the array handle interface on the C side. On the specific
side of things, there are the specific bytevector, SRFI-4, and bitvector
interfaces.
** Use of the vector interface on arrays
** 'vector-length', 'vector-ref', and 'vector-set!' on weak vectors
** 'vector-length', 'vector-ref', and 'vector-set!' as primitive-generics
Making the vector interface operate only on a single representation will
allow future versions of Guile to compile loops involving vectors to
more efficient native code.
** 'htons', 'htonl', 'ntohs', 'ntohl'
[XXX add justification]. Please use binary I/O with bytevectors,
together with the procedures described in "Interpreting Bytevector
Contents as Integers" in the manual.
** 'gc-live-object-stats'
It hasn't worked in the whole 2.0 series. There is no replacement,
unfortunately.
** 'scm_c_program_source'
[XXX add justification]. Please use 'scm_program_source' instead.
* New interfaces * New interfaces
[XXX Should some of these be moved to the "Notable Changes" section?]
** Cooperative REPL servers ** Cooperative REPL servers
This new facility supports REPLs that run at specified times within an This new facility supports REPLs that run at specified times within an
@ -236,9 +172,73 @@ See "Integers" in the manual.
These should now be used to access weak vectors, instead of These should now be used to access weak vectors, instead of
'vector-length', 'vector-ref', and 'vector-set!'. 'vector-length', 'vector-ref', and 'vector-set!'.
* Manual updates
** Improve docs for 'eval-when'.
Each 'eval-when' condition is now explained in detail, including
'expand' which was previously undocumented. (expand load eval) is now
the recommended set of conditions, instead of (compile load eval).
See "Eval When" in the manual, for details.
** Update the section on SMOBs and memory management.
See "Defining New Types (Smobs)" in the manual.
** Fixes
*** GOOPS: #:dsupers is the init keyword for the dsupers slot.
*** 'unfold-right' takes a tail, not a tail generator.
*** Clarify that 'append!' and 'reverse!' might not mutate.
*** Fix doc that incorrectly claimed (integer? +inf.0) => #t.
(http://bugs.gnu.org/16356)
*** Document that we support SRFI-62 (S-expression comments).
*** Document that we support SRFI-87 (=> in case clauses).
*** Document 'equal?' in the list of R6RS incompatibilities.
*** Remove outdated documentation of LTDL_LIBRARY_PATH.
*** Fix 'weak-vector?' doc: Weak hash tables are not weak vectors.
*** Fix 'my-or' examples to use let-bound variable.
(http://bugs.gnu.org/14203)
* New deprecations
** General 'uniform-vector' interface
This interface lacked both generality and specificity. The general
replacements are 'array-length', 'array-ref', and friends on the scheme
side, and the array handle interface on the C side. On the specific
side of things, there are the specific bytevector, SRFI-4, and bitvector
interfaces.
** Use of the vector interface on arrays
** 'vector-length', 'vector-ref', and 'vector-set!' on weak vectors
** 'vector-length', 'vector-ref', and 'vector-set!' as primitive-generics
Making the vector interface operate only on a single representation will
allow future versions of Guile to compile loops involving vectors to
more efficient native code.
** 'htons', 'htonl', 'ntohs', 'ntohl'
These procedures, like their C counterpart, were used to convert numbers
to/from network byte order, typically in conjunction with the
now-deprecated uniform vector API.
This functionality is now covered by the bytevector and binary I/O APIs.
See "Interpreting Bytevector Contents as Integers" in the manual.
** 'gc-live-object-stats'
It hasn't worked in the whole 2.0 series. There is no replacement,
unfortunately.
** 'scm_c_program_source'
[XXX add justification]. Please use 'scm_program_source' instead.
* Build fixes * Build fixes
** Fix build with clang 3.4. ** Fix build with Clang 3.4.
** MinGW build fixes ** MinGW build fixes
*** Do not add $(EXEEXT) to guild or guile-tools. *** Do not add $(EXEEXT) to guild or guile-tools.
@ -251,9 +251,6 @@ These should now be used to access weak vectors, instead of
** Fix computation of LIBLOBJS so dependencies work properly. ** Fix computation of LIBLOBJS so dependencies work properly.
(http://bugs.gnu.org/14193) (http://bugs.gnu.org/14193)
** Link 'test-unwind.c' against libgnu.la.
[XXX rewrite title; not sure where this belongs]
* Bug fixes * Bug fixes
** Web: Fix web client with methods other than GET. ** Web: Fix web client with methods other than GET.
@ -348,13 +345,12 @@ These should now be used to access weak vectors, instead of
** Fix optional end argument in `uniform-vector-read!'. ** Fix optional end argument in `uniform-vector-read!'.
(http://bugs.gnu.org/15370) (http://bugs.gnu.org/15370)
** Fix brainfuck->scheme compiler. ** Fix brainfuck->scheme compiler.
[XXX was this broken in 2.0.9?] ** texinfo: Fix newline preservation in @example with lines beginning with @
** C standards conformance improvements ** C standards conformance improvements
[XXX Consider putting most of these in a different section, possibly Improvements and bug fixes were made to the C part of Guile's run-time
with a general overview of the improvements rather than individual support (libguile).
bullet items]
*** Don't use the identifier 'noreturn'. *** Don't use the identifier 'noreturn'.
(http://bugs.gnu.org/15798) (http://bugs.gnu.org/15798)