diff options
author | Andy Wingo <wingo@pobox.com> | 2011-11-04 19:37:04 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2011-11-07 11:39:05 +0100 |
commit | 19ef14f9b8b73c04acbbfa6bd993908171bc69f7 (patch) | |
tree | 6ca2c753e7ebfaf6b2f273ca8856a1788066c7ab | |
parent | 5b36d6034b015e540285770aaf920b92852fa705 (diff) | |
download | guile-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.scm | 5 |
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) |