[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.7-215-gedb6d

From: Mark H Weaver
Subject: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.7-215-gedb6de0
Date: Thu, 21 Mar 2013 16:57:23 +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  edb6de0becea3a52a4e5e3fa73a090928f0cbd61 (commit)
       via  8edab37f17cd60cf6986da822dfbdad6067aef66 (commit)
      from  ddb717423619cb2c36fb798dc12552b70cd9b0ad (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 edb6de0becea3a52a4e5e3fa73a090928f0cbd61
Author: Mark H Weaver <address@hidden>
Date:   Thu Mar 21 11:51:18 2013 -0400

    Add missing 'cond-expand' feature identifiers; remove srfi-6 from core list.
    * module/ice-9/boot-9.scm (%cond-expand-features): Remove redundant list
      of feature identifiers in the comment.  Explain more clearly what
      belongs in this list.  Remove srfi-6.
    * module/srfi/srfi-4.scm, module/srfi/srfi-27.scm,
      module/srfi/srfi-31.scm, module/srfi/srfi-38.scm,
      module/srfi/srfi-39.scm, module/srfi/srfi-42.scm,
      module/srfi/srfi-45.scm, module/srfi/srfi-67.scm: Add missing
    * module/srfi/srfi-69.scm: Fix erroneous 'cond-expand-provide'.
    * doc/ref/srfi-modules.texi (SRFI-0): Update the list of features in
      Guile core.

commit 8edab37f17cd60cf6986da822dfbdad6067aef66
Author: Mark H Weaver <address@hidden>
Date:   Thu Mar 21 12:41:05 2013 -0400

    Mention the non-conformance of the core SRFI-6 procedures in the manual.
    * doc/ref/srfi-modules.texi (About SRFI Usage): Use SRFI-13 as an
      example of a module which is included in core Guile, instead of
      (SRFI-6): Mention the non-conformance of the core 'open-input-string'
      and 'open-output-string' procedures.  Remove the claim that importing
      this module does nothing.  Recommend that users import the module.


Summary of changes:
 doc/ref/srfi-modules.texi |   30 +++++++++++++++++++++---------
 module/ice-9/boot-9.scm   |   14 +++++++-------
 module/srfi/srfi-27.scm   |    2 ++
 module/srfi/srfi-31.scm   |    2 ++
 module/srfi/srfi-38.scm   |    1 +
 module/srfi/srfi-39.scm   |    2 ++
 module/srfi/srfi-4.scm    |    1 +
 module/srfi/srfi-42.scm   |    2 ++
 module/srfi/srfi-45.scm   |    2 ++
 module/srfi/srfi-67.scm   |    2 ++
 module/srfi/srfi-69.scm   |    2 +-
 11 files changed, 43 insertions(+), 17 deletions(-)

diff --git a/doc/ref/srfi-modules.texi b/doc/ref/srfi-modules.texi
index e60dbb4..347b3de 100644
--- a/doc/ref/srfi-modules.texi
+++ b/doc/ref/srfi-modules.texi
@@ -76,13 +76,13 @@ check for the Scheme implementation, that is, before she 
can know that
 it is safe to use @code{use-modules} to load SRFI support modules.  The
 second reason is that some features defined in SRFIs had been
 implemented in Guile before the developers started to add SRFI
-implementations as modules (for example SRFI-6 (@pxref{SRFI-6})).  In
+implementations as modules (for example SRFI-13 (@pxref{SRFI-13})).  In
 the future, it is possible that SRFIs in the core library might be
 factored out into separate modules, requiring explicit module loading
 when they are needed.  So you should be prepared to have to use
address@hidden someday in the future to access SRFI-6 bindings.  If
address@hidden someday in the future to access SRFI-13 bindings.  If
 you want, you can do that already.  We have included the module
address@hidden(srfi srfi-6)} in the distribution, which currently does nothing,
address@hidden(srfi srfi-13)} in the distribution, which currently does nothing,
 but ensures that you can write future-safe code.
 Generally, support for a specific SRFI is made available by using
@@ -145,9 +145,13 @@ guile-2  ;; starting from Guile 2.x
 @end example
 Other SRFI feature symbols are defined once their code has been loaded
@@ -1846,11 +1850,19 @@ uniform numeric vector, it is returned unchanged.
 @cindex SRFI-6
 SRFI-6 defines the procedures @code{open-input-string},
address@hidden and @code{get-output-string}.  These
-procedures are included in the Guile core, so using this module does not
-make any difference at the moment.  But it is possible that support for
-SRFI-6 will be factored out of the core library in the future, so using
-this module does not hurt, after all.
address@hidden and @code{get-output-string}.
+Note that although versions of these procedures are included in the
+Guile core, the core versions are not fully conformant with SRFI-6:
+attempts to read or write characters that are not supported by the
+current @code{%default-port-encoding} will fail.
+We therefore recommend that you import this module, which supports all
+(use-modules (srfi srfi-6))
address@hidden example
 @node SRFI-8
 @subsection SRFI-8 - receive
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index ed7ebea..ced3a28 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -3897,21 +3897,21 @@ when none is available, reading FILE-NAME with READER."
 ;;; <feature-identifier>s `guile' and `r5rs', so that programs can
 ;;; determine the implementation type and the supported standard.
-;;; Currently, the following feature identifiers are supported:
-;;;   guile r5rs srfi-0 srfi-4 srfi-6 srfi-13 srfi-14 srfi-55 srfi-61 srfi-105
 ;;; Remember to update the features list when adding more SRFIs.
 (define %cond-expand-features
-  ;; Adjust the above comment when changing this.
+  ;; This should contain only features that are present in core Guile,
+  ;; before loading any modules.  Modular features are handled by
+  ;; placing 'cond-expand-provide' in the relevant module.
     srfi-0   ;; cond-expand itself
-    srfi-4   ;; homogenous numeric vectors
-    srfi-6   ;; open-input-string etc, in the guile core
+    srfi-4   ;; homogeneous numeric vectors
+    ;; We omit srfi-6 because the 'open-input-string' etc in Guile
+    ;; core are not conformant with SRFI-6; they expose details
+    ;; of the binary I/O model and may fail to support some characters.
     srfi-13  ;; string library
     srfi-14  ;; character sets
     srfi-23  ;; `error` procedure
diff --git a/module/srfi/srfi-27.scm b/module/srfi/srfi-27.scm
index 9777ace..0794a43 100644
--- a/module/srfi/srfi-27.scm
+++ b/module/srfi/srfi-27.scm
@@ -36,6 +36,8 @@
   #:use-module (srfi srfi-9))
+(cond-expand-provide (current-module) '(srfi-27))
 (define-record-type :random-source
   (%make-random-source state)
diff --git a/module/srfi/srfi-31.scm b/module/srfi/srfi-31.scm
index cf67e8a..f11aa84 100644
--- a/module/srfi/srfi-31.scm
+++ b/module/srfi/srfi-31.scm
@@ -21,6 +21,8 @@
 (define-module (srfi srfi-31)
   #:export (rec))
+(cond-expand-provide (current-module) '(srfi-31))
 (define-syntax rec
   (syntax-rules ()
     "Return the given object, defined in a lexical environment where
diff --git a/module/srfi/srfi-38.scm b/module/srfi/srfi-38.scm
index 874dd90..34cf22e 100644
--- a/module/srfi/srfi-38.scm
+++ b/module/srfi/srfi-38.scm
@@ -32,6 +32,7 @@
   #:use-module (srfi srfi-69)
   #:use-module (system vm trap-state))
+(cond-expand-provide (current-module) '(srfi-38))
 ;; A printer that shows all sharing of substructures.  Uses the Common
 ;; Lisp print-circle notation: #n# refers to a previous substructure
diff --git a/module/srfi/srfi-39.scm b/module/srfi/srfi-39.scm
index 0d54063..661ab0f 100644
--- a/module/srfi/srfi-39.scm
+++ b/module/srfi/srfi-39.scm
@@ -41,6 +41,8 @@
                current-input-port current-output-port current-error-port))
+(cond-expand-provide (current-module) '(srfi-39))
 (define (with-parameters* params values thunk)
   (let more ((params params)
             (values values)
diff --git a/module/srfi/srfi-4.scm b/module/srfi/srfi-4.scm
index 43f5ef6..c6eb00b 100644
--- a/module/srfi/srfi-4.scm
+++ b/module/srfi/srfi-4.scm
@@ -69,6 +69,7 @@
             f64vector? make-f64vector f64vector f64vector-length f64vector-ref
             f64vector-set! f64vector->list list->f64vector))
+(cond-expand-provide (current-module) '(srfi-4))
 ;; Need quasisyntax to do this effectively using syntax-case
 (define-macro (define-bytevector-type tag infix size)
diff --git a/module/srfi/srfi-42.scm b/module/srfi/srfi-42.scm
index 0aaaf8f..c826f6f 100644
--- a/module/srfi/srfi-42.scm
+++ b/module/srfi/srfi-42.scm
@@ -61,4 +61,6 @@
+(cond-expand-provide (current-module) '(srfi-42))
 (include-from-path "srfi/srfi-42/ec.scm")
diff --git a/module/srfi/srfi-45.scm b/module/srfi/srfi-45.scm
index 47e3ba6..f865f91 100644
--- a/module/srfi/srfi-45.scm
+++ b/module/srfi/srfi-45.scm
@@ -41,6 +41,8 @@
   #:replace (delay force promise?)
   #:use-module (srfi srfi-9))
+(cond-expand-provide (current-module) '(srfi-45))
 (define-record-type promise (make-promise val) promise?
   (val promise-val promise-val-set!))
diff --git a/module/srfi/srfi-67.scm b/module/srfi/srfi-67.scm
index 7a43ee5..6d9d4c5 100644
--- a/module/srfi/srfi-67.scm
+++ b/module/srfi/srfi-67.scm
@@ -83,4 +83,6 @@
   #:replace (string-compare string-compare-ci)
   #:use-module (srfi srfi-27))
+(cond-expand-provide (current-module) '(srfi-67))
 (include-from-path "srfi/srfi-67/compare.scm")
diff --git a/module/srfi/srfi-69.scm b/module/srfi/srfi-69.scm
index df07f75..b9486c4 100644
--- a/module/srfi/srfi-69.scm
+++ b/module/srfi/srfi-69.scm
@@ -88,7 +88,7 @@
   #:re-export (string-hash)
   #:replace (hash make-hash-table hash-table?))
-(cond-expand-provide (current-module) '(srfi-37))
+(cond-expand-provide (current-module) '(srfi-69))
 ;;;; Internal helper macros

GNU Guile

reply via email to

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