[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, master, updated. release_1-9-10-205-g0
From: |
Julian Graham |
Subject: |
[Guile-commits] GNU Guile branch, master, updated. release_1-9-10-205-g04186f2 |
Date: |
Fri, 28 May 2010 01:34:55 +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".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=04186f2006bba79ffd7097f3664919078dc4d656
The branch, master has been updated
via 04186f2006bba79ffd7097f3664919078dc4d656 (commit)
from 853cb35661cb5ff9ef31595ea8189aa4b68ae4b4 (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 04186f2006bba79ffd7097f3664919078dc4d656
Author: Julian Graham <address@hidden>
Date: Thu May 27 21:32:20 2010 -0400
Ignore explicit phase specification for imports in `library' form.
* module/ice-9/r6rs-libraries.scm (library): Unwrap the `for' sub-form
during export resolution the same way that `import' does.
* test-suite/tests/rnrs-libraries.test ("implicit phasing"): New test
prefix and tests.
-----------------------------------------------------------------------
Summary of changes:
module/ice-9/r6rs-libraries.scm | 10 ++++++++--
test-suite/tests/rnrs-libraries.test | 15 +++++++++++++++
2 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/module/ice-9/r6rs-libraries.scm b/module/ice-9/r6rs-libraries.scm
index fbe80ed..56d4300 100644
--- a/module/ice-9/r6rs-libraries.scm
+++ b/module/ice-9/r6rs-libraries.scm
@@ -161,8 +161,14 @@
(and-map identifier? #'(name name* ...))
(call-with-values
(lambda ()
- (compute-exports (map resolve-r6rs-interface #'(ispec ...))
- #'(espec ...)))
+ (compute-exports
+ (map (lambda (im)
+ (syntax-case im (for)
+ ((for import-set import-level ...)
+ (resolve-r6rs-interface #'import-set))
+ (import-set (resolve-r6rs-interface #'import-set))))
+ #'(ispec ...))
+ #'(espec ...)))
(lambda (exports re-exports)
(with-syntax (((e ...) exports)
((r ...) re-exports))
diff --git a/test-suite/tests/rnrs-libraries.test
b/test-suite/tests/rnrs-libraries.test
index 9f6f6c1..4396c67 100644
--- a/test-suite/tests/rnrs-libraries.test
+++ b/test-suite/tests/rnrs-libraries.test
@@ -114,6 +114,21 @@
(equal? (eval '(double 20) (current-module))
40)))
+;; Guile should ignore explicit phase specifications
+;;
+(with-test-prefix "implicit phasing"
+ (with-test-prefix "in library form"
+ (pass-if "explicit phasing ignored"
+ (import (for (guile) (meta -1))) #t))
+
+ (with-test-prefix "in library form"
+ (pass-if "explicit phasing ignored"
+ (save-module-excursion
+ (lambda ()
+ (library (test)
+ (export)
+ (import (for (guile) (meta -1))))
+ #t)))))
;; Now import features.
;;
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, master, updated. release_1-9-10-205-g04186f2,
Julian Graham <=