From 4a59516ae6028b3c2d0b9acb7130d0305f582821 Mon Sep 17 00:00:00 2001 From: Peter Bex Date: Thu, 26 Apr 2018 13:20:15 +0200 Subject: [PATCH] Do not walk iexps in ##sys#register-compiled-module. The iexps is always an alist of symbol->symbol mappings (see the comments in the module record type definition), which means it never contains syntax transformers. --- modules.scm | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/modules.scm b/modules.scm index 8d338720..f8a00553 100644 --- a/modules.scm +++ b/modules.scm @@ -363,21 +363,15 @@ (find-reexport se) (list (car se) #f (##sys#ensure-transformer (cdr se) (car se))))) sexports)) - (iexps - (map (lambda (ie) - (if (pair? (cdr ie)) - (list (car ie) (cadr ie) (##sys#ensure-transformer (caddr ie) (car ie))) - ie)) - iexports)) (nexps (map (lambda (ne) (list (car ne) #f (##sys#ensure-transformer (cdr ne) (car ne)))) sdefs)) - (mod (make-module name lib '() vexports sexps iexps)) + (mod (make-module name lib '() vexports sexps iexports)) (senv (merge-se (##sys#macro-environment) (##sys#current-environment) - iexps vexports sexps nexps))) + iexports vexports sexps nexps))) (for-each (lambda (sexp) (set-car! (cdr sexp) (merge-se (or (cadr sexp) '()) senv))) @@ -386,7 +380,7 @@ (lambda (iexp) (when (pair? (cdr iexp)) (set-car! (cdr iexp) (merge-se (or (cadr iexp) '()) senv)))) - iexps) + iexports) (for-each (lambda (nexp) (set-car! (cdr nexp) (merge-se (or (cadr nexp) '()) senv))) -- 2.11.0