~ chicken-core (chicken-5) 78a1d9712a7c1c1d432cf3ba587dcb44c651ef82
commit 78a1d9712a7c1c1d432cf3ba587dcb44c651ef82 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Fri Nov 13 16:13:54 2009 +0100 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Fri Nov 13 16:13:54 2009 +0100 added import-only extension property diff --git a/eval.scm b/eval.scm index 8e9dba95..d849db32 100644 --- a/eval.scm +++ b/eval.scm @@ -1262,13 +1262,14 @@ (let ((info (##sys#extension-information id 'require-extension))) (cond (info (let ((s (assq 'syntax info)) + (nr (assq 'import-only info)) (rr (assq 'require-at-runtime info)) ) (when s (add-req id #t)) (values (impform `(##core#begin ,@(if s `((##core#require-for-syntax ',id)) '()) - ,@(if (and (not rr) s) + ,@(if (or nr (and (not rr) s)) '() `((##sys#require ,@(map (lambda (id) `',id) diff --git a/manual/Extensions b/manual/Extensions index 55c3d6f8..34b4336b 100644 --- a/manual/Extensions +++ b/manual/Extensions @@ -112,6 +112,13 @@ as a file containing macros to be loaded at compile/macro-expansion time. Specifies extensions that should be loaded (via {{require}}) at runtime. This is mostly useful for syntax extensions that need additional support code at runtime. +===== import-only + + [extension property] (import-only) + +Specifies that this extension only provides a expansion-time code in an import library and +does not require code to be loaded at runtime. + ===== version [extension property] (version STRING)Trap