[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.9-246-gcdf1a

From: Mark H Weaver
Subject: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.9-246-gcdf1ae8
Date: Mon, 17 Mar 2014 06:46:20 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

The branch, stable-2.0 has been updated
       via  cdf1ae89831166b4dfda411fdd959d718b0aed41 (commit)
       via  580ef7fcf4f9713bb2dc8ed4655649a576665316 (commit)
      from  f1a13268fdc55a78700317b0e5d68649547db744 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit cdf1ae89831166b4dfda411fdd959d718b0aed41
Author: Mark H Weaver <address@hidden>
Date:   Mon Mar 17 02:42:38 2014 -0400

    Add first draft of NEWS for 2.0.10.
    * NEWS: Add first draft of changes in 2.0.10.

commit 580ef7fcf4f9713bb2dc8ed4655649a576665316
Author: Mark H Weaver <address@hidden>
Date:   Mon Mar 17 02:40:23 2014 -0400

    Documentation tweaks for the 'r7rs-symbols' read/print options.
    * doc/ref/api-data.texi (Symbol Read Syntax): Mention the 'r7rs-symbols'
      print option, and provide example code to enable both the read and
      print options.  Add 'r7rs-symbols' to the concept index.


Summary of changes:
 NEWS                  |  366 ++++++++++++++++++++++++++++++++++++++++++++++++-
 doc/ref/api-data.texi |   12 ++
 2 files changed, 377 insertions(+), 1 deletions(-)

diff --git a/NEWS b/NEWS
index 5913301..7f7752a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,374 @@
 Guile NEWS --- history of user-visible changes.
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
 See the end for copying conditions.
 Please send Guile bug reports to address@hidden
+Changes in 2.0.10 (since 2.0.9):
+[XXX This is a work-in-progress!!  Search for "XXX" for things to fix.
+Reorganization would also be helpful.]
+* Notable changes
+** New GDB extension to support Guile
+[XXX elaborate.  Maybe also mention the addition of 'gdbinit' to the
+** Improved integration between R6RS and native Guile exceptions
+R6RS exception handlers, established using 'with-exception-handler' or
+'guard', are now able to catch native Guile exceptions, which are
+automatically converted into appropriate R6RS condition objects.
+** Support for HTTP proxies
+Guile's built-in web client now honors the 'http_proxy' environment
+variable, as well as the new 'current-http-proxy' parameter.  See
+"Web Client" in the manual for details.
+** Lexical syntax improvements
+*** Support |...| symbol notation.
+Guile's core reader and printer now support the R7RS |...| notation
+for writing symbols with arbitrary characters, as a more portable and
+attractive alternative to Guile's native #{...}# notation.  To enable
+this notation by default, put one or both of the following in your
+  (read-enable  'r7rs-symbols)
+  (print-enable 'r7rs-symbols)
+*** Support '#true' and '#false' notation for booleans.
+The booleans '#t' and '#f' may now be written as '#true' and '#false'
+for improved readability, per R7RS.
+*** Recognize '#\escape' character name.
+The escape character '#\esc' may now be written as '#\escape', per R7RS.
+*** Accept "\|" in string literals.
+The pipe character may now be preceded by a backslash, per R7RS.
+** Custom binary input ports now support 'setvbuf'.
+[XXX elaborate?]
+** SRFI-4 predicates and length accessors no longer accept arrays.
+Given that the SRFI-4 accessors don't work for arrays, the fact that the
+predicates and length accessors returned true for arrays was a bug.
+** GUILE_PROGS now supports specifying a minimum required version.
+The 'GUILE_PROGS' autoconf macro in guile.m4 now allows an optional
+argument to specify a minimum required Guile version.  By default, it
+requires Guile >= 2.0.  A micro version can also be specified, e.g.:
+** Error reporting improvements
+*** Improved run-time error reporting in (ice-9 match).
+If no pattern matches in a 'match' form, the datum that failed to match
+is printed along with the location of the failed 'match' invocation.
+*** Print the faulty object upon invalid-keyword errors.
+*** Improved error reporting of procedures defined by define-inlinable.
+*** Improved error reporting for misplaced ellipses in macro definitions.
+*** Improved error checking in 'define-public' and 'module-add!'.
+*** Improved error when 'include' form with relative path is not in a file.
+** Speed improvements
+*** 'scm_c_read' on ISO-8859-1 (e.g. binary) unbuffered ports is faster.
+*** New inline asm for VM fixnum multiply, for faster overflow checking.
+*** New inline asm for VM fixnum operations on ARM and 32-bit x86.
+*** 'positive?' and 'negative?' are now compiled to VM primitives.
+*** Numerical comparisons with more than 2 arguments are compiled to VM code.
+*** Several R6RS bitwise operators have been optimized.
+** Miscellaneous changes [XXX not sure where these belong, if anywhere]
+*** Web: 'content-disposition' headers are now supported.
+*** Web: 'uri-encode' hexadecimal percent-encoding is now uppercase.
+*** Size argument to 'make-doubly-weak-hash-table' is now optional.
+*** Timeout for 'unlock-mutex' and SRFI-18 'mutex-unlock!' may now be #f.
+** Gnulib update
+Guile's copy of Gnulib was updated to v0.1-92-g546ff82.  The following
+modules were imported from Gnulib: copysign, fsync, isfinite, link,
+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.
+    (
+*** 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.
+    (
+*** [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
+** 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,
+** 'scm_c_program_source'
+[XXX add justification].  Please use 'scm_program_source' instead.
+* New interfaces
+[XXX Should some of these be moved to the "Notable Changes" section?]
+** Cooperative REPL servers
+This new facility supports REPLs that run at specified times within an
+existing thread, for example in programs utilizing an event loop or in
+single-threaded programs.  This allows for safe access and mutation of
+a program's data structures from the REPL without concern for thread
+synchronization.  See "Cooperative REPL Servers" in the manual for
+** SRFI-43 (Vector Library)
+Guile now includes SRFI-43, a comprehensive library of vector operations
+analogous to the SRFI-1 list library.  See "SRFI-43" in the manual for
+** SRFI-64 (A Scheme API for test suites)
+Guile now includes SRFI-64, a flexible framework for creating test
+suites.  The reference implementation of SRFI-64 has also been updated
+to fully support earlier versions of Guile.
+** SRFI-111 (Boxes)
+See "SRFI-111" in the manual.
+** 'define-values'
+See "Binding multiple return values" in the manual.
+** Custom ellipsis identifiers using 'with-ellipsis' or SRFI-46.
+Guile now allows macro definitions to use identifiers other than '...'
+as the ellipsis.  This is convenient when writing macros that generate
+macro definitions.  The desired ellipsis identifier can given as the
+first operand to 'syntax-rules', as specified SRFI-46 and R7RS, or by
+using the new 'with-ellipsis' special form when writing procedural
+macros.  With this addition, Guile now fully supports SRFI-46.
+See "Specifying a Custom Ellipsis Identifier" and "Custom Ellipsis
+Identifiers for syntax-case Macros" in the manual for details.
+** R7RS 'syntax-error'
+Guile now supports 'syntax-error', as specified by R7RS, allowing for
+improved compile-time error reporting from 'syntax-rules' macros.  See
+"Reporting Syntax Errors in Macros" in the manual for details.
+** New procedures to convert association lists into hash tables
+Guile now includes the convenience procedures 'alist->hash-table',
+'alist->hashq-table', 'alist->hashv-table', and 'alist->hashx-table'.
+See "Hash Table Reference" in the manual.
+** New predicates: 'exact-integer?' and 'scm_is_exact_integer'
+See "Integers" in the manual.
+** 'weak-vector-length', 'weak-vector-ref', and 'weak-vector-set!'
+These should now be used to access weak vectors, instead of
+'vector-length', 'vector-ref', and 'vector-set!'.
+* Build fixes
+** Fix build with clang 3.4.
+** MinGW build fixes
+*** Do not add $(EXEEXT) to guild or guile-tools.
+*** tests: Use double quotes around shell arguments, for Windows.
+*** tests: Don't rely on $TMPDIR and /tmp on Windows.
+*** tests: Skip FFI tests that use `qsort' when it's not accessible.
+*** tests: Remove symlink only when it exists.
+*** tests: Don't rely on `scm_call_2' being visible.
+** Fix computation of LIBLOBJS so dependencies work properly.
+   (
+** Link 'test-unwind.c' against
+   [XXX rewrite title; not sure where this belongs]
+* Bug fixes
+** Web: Fix web client with methods other than GET.
+   (
+** Web: Add Content-Length header for empty bodies.
+** Web: Accept "UTC" as the zone offset in date headers.
+   (
+** Web: Don't throw if a response is longer than its Content-Length says.
+** Web: Write out HTTP Basic auth headers correctly.
+   (
+** Web: Always print a path component in 'write-request-line'.
+** Fix 'define-public' from (ice-9 curried-definitions).
+** psyntax: toplevel variable definitions discard previous syntactic binding.
+   (
+** Fix thread-unsafe lazy initializations.
+** Make (ice-9 popen) thread-safe.
+   (
+** Make guardians thread-safe.
+** Make regexp_exec thread-safe.
+   (
+** vm: Gracefully handle stack overflows.
+   (
+** Fix 'rationalize'.
+   (
+** Fix inline asm for VM fixnum operations on x32.
+** Fix 'SCM_SYSCALL' to really swallow EINTR.
+** Hide EINTR returns from 'accept'.
+** SRFI-19: Update the table of leap seconds.
+** Add missing files to the test-suite Makefile.
+** Make sure 'ftw' allows directory traversal when running as root.
+** Fix 'hash-for-each' for weak hash tables.
+** SRFI-18: Export 'current-thread'.
+   (
+** Fix inlining of tail list to apply.
+   (
+** Fix bug in remqueue in threads.c when removing last element.
+** Fix build when '>>' on negative integers is not arithmetic.
+** Fix 'bitwise-bit-count' for negative arguments.
+   (
+** Fix VM 'ash' for right shifts by large amounts.
+   (
+** Fix rounding in scm_i_divide2double for negative arguments.
+** Avoid lossy conversion from inum to double in numerical comparisons.
+** Fix numerical comparison of fractions to infinities.
+** Allow fl+ and fl* to accept zero arguments.
+   (
+** flonum? returns false for complex number objects.
+   (
+** flfinite? applied to a NaN returns false.
+   (
+** Flonum operations always return flonums.
+   (
+** min and max: NaNs beat infinities, per R6RS errata.
+   (
+** Fix 'fxbit-count' for negative arguments.
+** 'gcd' and 'lcm' support inexact integer arguments.
+   (
+** Fix R6RS 'fixnum-width'.
+   (
+** tests: Use shell constructs that /bin/sh on Solaris 10 can understand.
+   (
+** Fix display of symbols containing backslashes.
+   (
+** Fix truncated-print for uniform vectors.
+** Define `AF_UNIX' only when Unix-domain sockets are supported.
+** Decompiler: fix handling of empty 'case-lambda' expressions.
+** Fix handling of signed zeroes and infinities in 'numerator' and 
+** dereference-pointer: check for null pointer.
+** Optimizer: Numerical comparisons are not negatable, for correct NaN 
+** Compiler: Evaluate '-' and '/' in left-to-right order.
+   (for more robust floating-point arithmetic)
+** snarf.h: Declare static const function name vars as SCM_UNUSED.
+** chars.c: Remove duplicate 'const' specifiers.
+** Modify SCM_UNPACK type check to avoid warnings in clang.
+** Arrange so that 'file-encoding' does not truncate the encoding name.
+   (
+** Improve error checking in bytevector->uint-list and bytevector->sint-list.
+   (
+** Fix (ash -1 SCM_I_FIXNUM_BIT-1) to return a fixnum instead of a bignum.
+** i18n: Fix null pointer dereference when locale info is missing.
+** Fix 'string-copy!' to work properly with overlapping src/dest.
+** Fix hashing of vectors to run in bounded time.
+** 'port-position' works on CBIPs that do not support 'set-port-position!'.
+** Custom binary input ports sanity-check the return value of 'read!'.
+** bdw-gc.h: Check SCM_USE_PTHREAD_THREADS using #if not #ifdef.
+** REPL Server: Don't establish a SIGINT handler.
+** REPL Server: Redirect warnings to client socket.
+** REPL Server: Improve robustness of 'stop-server-and-clients!'.
+** Add srfi-16, srfi-30, srfi-46, srfi-62, srfi-87 to %cond-expand-features.
+** Fix trap handlers to handle applicable structs.
+   (
+** Fix optional end argument in `uniform-vector-read!'.
+   (
+** Fix brainfuck->scheme compiler.
+   [XXX was this broken in 2.0.9?]
+** C standards conformance improvements
+[XXX Consider putting most of these in a different section, possibly
+with a general overview of the improvements rather than individual
+bullet items]
+*** Don't use the identifier 'noreturn'.
+    (
+*** Rewrite SCM_I_INUM to avoid unspecified behavior when not using GNU C.
+*** Improve fallback implemention of SCM_SRS to avoid unspecified behavior.
+*** SRFI-60: Reimplement 'rotate-bit-field' on inums to be more portable.
+*** Improve compliance with C standards regarding signed integer shifts.
+*** Avoid signed overflow in random.c.
+*** VM: Avoid signed overflows in 'add1' and 'sub1'.
+*** VM: Avoid overflow in ASM_ADD when the result is most-positive-fixnum.
+*** read: Avoid signed integer overflow in 'read_decimal_integer'.
 Changes in 2.0.9 (since 2.0.7):
 Note: 2.0.8 was a brown paper bag release that was never announced, but
diff --git a/doc/ref/api-data.texi b/doc/ref/api-data.texi
index 9fd353d..acdf9ca 100644
--- a/doc/ref/api-data.texi
+++ b/doc/ref/api-data.texi
@@ -5526,6 +5526,8 @@ approach to properties, see @ref{Object Properties}.
 @node Symbol Read Syntax
 @subsubsection Extended Read Syntax for Symbols
address@hidden r7rs-symbols
 The read syntax for a symbol is a sequence of letters, digits, and
 @dfn{extended alphabetic characters}, beginning with a character that
 cannot begin a number.  In addition, the special cases of @code{+},
@@ -5586,6 +5588,16 @@ double quotes.
 |\| is a vertical bar|
 @end example
+Note that there's also an @code{r7rs-symbols} print option
+(@pxref{Scheme Write}).  To enable the use of this notation, evaluate
+one or both of the following expressions:
+(read-enable  'r7rs-symbols)
+(print-enable 'r7rs-symbols)
address@hidden example
 @node Symbol Uninterned
 @subsubsection Uninterned Symbols

GNU Guile

reply via email to

[Prev in Thread] Current Thread [Next in Thread]