diff --git a/src/ikarus.boot b/src/ikarus.boot index 5e146e5..4bb1a4b 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/library-manager.ss b/src/library-manager.ss index 4378d15..c6a6f28 100644 --- a/src/library-manager.ss +++ b/src/library-manager.ss @@ -488,9 +488,7 @@ [library-subst/env library-subst/env-label (core-prim . library-subst/env)] [find-library-by-name find-library-by-name-label (core-prim . find-library-by-name)] [imported-label->binding imported-label->binding-label (core-prim . imported-label->binding)] - [xlibrary-id xlibrary-id-label (core-prim . xlibrary-id)] - [xlibrary-name xlibrary-name-label (core-prim . xlibrary-name)] - [xlibrary-version xlibrary-version-label (core-prim . xlibrary-version)] + [library-spec library-spec-label (core-prim . library-spec)] )) (define (lm:imported-label->binding lab) (let f ([ls *all-libraries*]) @@ -516,9 +514,11 @@ (unless (library? x) (error 'library-subst/env "~s is not a library" x)) (values (library-subst x) (library-env x)))) - (primitive-set! 'xlibrary-id library-id) - (primitive-set! 'xlibrary-name library-name) - (primitive-set! 'xlibrary-version library-ver) + (primitive-set! 'library-spec + (lambda (x) + (unless (library? x) + (error 'library-spec "~s is not a library" x)) + (list (library-id x) (library-name x) (library-ver x)))) (primitive-set! 'find-library-by-name lm:find-library-by-name) (primitive-set! 'imported-label->binding lm:imported-label->binding) (primitive-set! 'install-library lm:install-library))