summaryrefslogtreecommitdiff
path: root/module/rnrs.scm
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-09-02 21:29:26 -0700
committerAndy Wingo <wingo@pobox.com>2010-09-02 21:31:55 -0700
commit61bac799dd1a1c004537a2ee2a21e729179d67f2 (patch)
tree93d36bd985c7361aa48fd8f75907ddea4dac5edc /module/rnrs.scm
parent3be872798395b745ee693a2975900a81980037d2 (diff)
downloadguile-61bac799dd1a1c004537a2ee2a21e729179d67f2.tar.gz
back-compat in (rnrs) for deprecated modules-in-value-namespace
* module/rnrs.scm (rnrs): Work around some unavoidable (I think) behavior when back-compatible unified namespaces are enabled; see comments in source.
Diffstat (limited to 'module/rnrs.scm')
-rw-r--r--module/rnrs.scm19
1 files changed, 14 insertions, 5 deletions
diff --git a/module/rnrs.scm b/module/rnrs.scm
index 1c07e4096..c329aeb07 100644
--- a/module/rnrs.scm
+++ b/module/rnrs.scm
@@ -209,10 +209,17 @@
;; (rnrs syntax-case)
- make-variable-transformer syntax syntax-case identifier?
- bound-identifier=? free-identifier=? syntax->datum datum->syntax
- generate-temporaries with-syntax quasisyntax unsyntax
- unsyntax-splicing syntax-violation
+ make-variable-transformer syntax
+ ;; Until the deprecated support for a unified modules and
+ ;; bindings namespace is removed, we need to manually resolve
+ ;; a conflict between two bindings: that of the (rnrs
+ ;; syntax-case) module, and the imported `syntax-case'
+ ;; binding. We do so here and below by renaming the macro
+ ;; import.
+ (rename (syntax-case-hack syntax-case))
+ identifier? bound-identifier=? free-identifier=?
+ syntax->datum datum->syntax generate-temporaries with-syntax
+ quasisyntax unsyntax unsyntax-splicing syntax-violation
;; (rnrs unicode)
@@ -288,5 +295,7 @@
(rnrs records procedural (6))
(rnrs records syntactic (6))
(rnrs sorting (6))
- (rnrs syntax-case (6))
+ ;; See note above on exporting syntax-case.
+ (rename (rnrs syntax-case (6))
+ (syntax-case syntax-case-hack))
(rnrs unicode (6))))