summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-11-04 19:37:04 +0100
committerAndy Wingo <wingo@pobox.com>2011-11-07 11:39:05 +0100
commit19ef14f9b8b73c04acbbfa6bd993908171bc69f7 (patch)
tree6ca2c753e7ebfaf6b2f273ca8856a1788066c7ab
parent5b36d6034b015e540285770aaf920b92852fa705 (diff)
downloadguile-19ef14f9b8b73c04acbbfa6bd993908171bc69f7.tar.gz
defined identifiers scoped in the current module
* ice-9/psyntax.scm (chi-top-sequence): Wrap defined identifiers with the current module. Fixes http://savannah.gnu.org/bugs/?31472.
-rw-r--r--module/ice-9/psyntax.scm5
1 files changed, 3 insertions, 2 deletions
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index fc2ccbc79..ae1592639 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -958,8 +958,9 @@
(let* ((r (cons '("placeholder" . (placeholder)) r))
(ribcage (make-empty-ribcage))
(w (make-wrap (wrap-marks w) (cons ribcage (wrap-subst w)))))
- (define (record-definition! id label)
- (extend-ribcage! ribcage id label))
+ (define (record-definition! id var)
+ (let ((mod (cons 'hygiene (module-name (current-module)))))
+ (extend-ribcage! ribcage id (wrap var top-wrap mod))))
(define (parse body r w s m esew mod)
(let lp ((body body) (exps '()))
(if (null? body)