~ chicken-core (chicken-5) 518dbf433ceb8b29a4b5aeddc7d6b19cee0ba15a
commit 518dbf433ceb8b29a4b5aeddc7d6b19cee0ba15a 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: Sun Nov 22 11:13:26 2009 +0100 added import-only extension property Signed-off-by: felix <felix@call-with-current-continuation.org> 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 fd361f3f..e9103538 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