~ chicken-core (chicken-5) 55b3e0a010ad9d3241825e25c7bfdb039885acb6
commit 55b3e0a010ad9d3241825e25c7bfdb039885acb6 Author: Peter Bex <peter@more-magic.net> AuthorDate: Thu Apr 26 12:59:31 2018 +0200 Commit: Peter Bex <peter@more-magic.net> CommitDate: Thu Apr 26 12:59:31 2018 +0200 Add clarifying comments to register-compiled-module diff --git a/modules.scm b/modules.scm index df1fe24a..8d338720 100644 --- a/modules.scm +++ b/modules.scm @@ -316,14 +316,14 @@ (##sys#register-compiled-module ',(module-name mod) ',(module-library mod) - (scheme#list + (scheme#list ; iexports ,@(map (lambda (ie) (if (symbol? (cdr ie)) `'(,(car ie) . ,(cdr ie)) `(scheme#list ',(car ie) '() ,(cdr ie)))) (module-iexports mod))) - ',(module-vexports mod) - (scheme#list + ',(module-vexports mod) ; vexports + (scheme#list ; sexports ,@(map (lambda (sexport) (let* ((name (car sexport)) (a (assq name dlist))) @@ -333,7 +333,7 @@ (dm "re-exported syntax" name mname) `',name)))) sexports)) - (scheme#list + (scheme#list ; sdefs ,@(if (null? sexports) '() ; no syntax exported - no more info needed (let loop ((sd (module-defined-syntax-list mod))) @@ -344,6 +344,10 @@ (cons `(scheme#cons ',(caar sd) ,(strip-syntax (cdar sd))) (loop (cdr sd))))))))))))) +;; iexports = indirect exports (syntax dependencies on value idents, explicitly included in module export list) +;; vexports = value (non-syntax) exports +;; sexports = syntax exports +;; sdefs = unexported definitions from syntax environment used by exported macros (not in export list) (define (##sys#register-compiled-module name lib iexports vexports sexports #!optional (sdefs '())) (define (find-reexport name)Trap