diff options
author | Andy Wingo <wingo@pobox.com> | 2010-09-02 21:29:26 -0700 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-09-02 21:31:55 -0700 |
commit | 61bac799dd1a1c004537a2ee2a21e729179d67f2 (patch) | |
tree | 93d36bd985c7361aa48fd8f75907ddea4dac5edc /module/rnrs.scm | |
parent | 3be872798395b745ee693a2975900a81980037d2 (diff) | |
download | guile-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.scm | 19 |
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)))) |