[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, wip-r6rs-libraries, updated. release_1
From: |
Julian Graham |
Subject: |
[Guile-commits] GNU Guile branch, wip-r6rs-libraries, updated. release_1-9-7-49-g42ba29c |
Date: |
Sun, 07 Feb 2010 06:29:49 +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=42ba29c2ffc509ab131e390d8fdec59bfceed31a
The branch, wip-r6rs-libraries has been updated
via 42ba29c2ffc509ab131e390d8fdec59bfceed31a (commit)
from 9db67bccd9414bd9c4a2d4edf0c8173a46562ac3 (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 42ba29c2ffc509ab131e390d8fdec59bfceed31a
Author: Julian Graham <address@hidden>
Date: Sun Feb 7 01:29:45 2010 -0500
Fix export issue in `library' form.
* module/ice-9/boot-9.scm (library): Don't test the obarray after export;
Do the export and re-export after checking everything.
-----------------------------------------------------------------------
Summary of changes:
module/ice-9/boot-9.scm | 26 ++++++++++++++------------
1 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index 6208264..8dccc51 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -3063,19 +3063,21 @@ module '(ice-9 q) '(make-q q-length))}."
(imports (syntax->datum #'imports))
(body (syntax->datum #'body)))
#`(begin
- (define-module #,(datum->syntax stx name) #:version #,version)
+ (define m (define-module #,(datum->syntax stx name)
+ #:version #,version))
#,@(datum->syntax stx (map (lambda (i) (list 'import i)) imports))
- (let ((ob (module-obarray (current-module))))
- (module-export!
- (current-module)
- (filter (lambda (s) (hashq-ref ob (if (pair? s) (car s) s)))
- #,(datum->syntax stx (list 'quote exports))))
- (module-re-export!
- (current-module)
- (filter (lambda (s)
- (not (hashq-ref ob (if (pair? s) (car s) s))))
- #,(datum->syntax stx (list 'quote exports)))))
- (purify-module! (current-module))
+ (let f ((local-exports '())
+ (re-exports '())
+ (el #,(datum->syntax stx (list 'quote exports))))
+ (if (null? el)
+ (begin
+ (module-export! m local-exports)
+ (module-re-export! m re-exports))
+ (let ((ce (car el)))
+ (if (module-bound? m (if (pair? ce) (car ce) ce))
+ (f local-exports (cons ce re-exports) (cdr el))
+ (f (cons ce local-exports) re-exports (cdr el))))))
+ (purify-module! m)
#,@(datum->syntax stx body)))))))
(define-syntax import
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, wip-r6rs-libraries, updated. release_1-9-7-49-g42ba29c,
Julian Graham <=