package-use-list
package-use-list Function
Syntax:
package-use-list package → use-list
Arguments and Values:
package—a package designator .
use-list—a list of package objects.
Description:
Returns a list of other packages used by package.
Examples:
(package-use-list (make-package ’temp)) → (#<PACKAGE "COMMON-LISP">)
(use-package ’common-lisp-user ’temp) → T
(package-use-list ’temp) → (#<PACKAGE "COMMON-LISP"> #<PACKAGE "COMMON-LISP-USER">)
Exceptional Situations:
Should signal an error of type type-error if package is not a package designator .
See Also:
use-package, unuse-package
Expanded Reference: package-use-list
Basic Usage: Seeing Which Packages Are Used
package-use-list returns a list of package objects that the given package inherits from.
(defpackage "MY-PKG" (:use "COMMON-LISP"))
(package-use-list "MY-PKG")
;; => (#<PACKAGE "COMMON-LISP">)
A Package That Uses Nothing
(make-package "EMPTY-PKG" :use '())
(package-use-list "EMPTY-PKG")
=> ()
After use-package and unuse-package
The use list changes dynamically as packages are used or unused.
(defpackage "BASE-A" (:use) (:export "X"))
(defpackage "BASE-B" (:use) (:export "Y"))
(make-package "COMBINED" :use '())
(use-package "BASE-A" "COMBINED")
(package-use-list "COMBINED")
;; => (#<PACKAGE "BASE-A">)
(use-package "BASE-B" "COMBINED")
(package-use-list "COMBINED")
;; => (#<PACKAGE "BASE-A"> #<PACKAGE "BASE-B">)
(unuse-package "BASE-A" "COMBINED")
(package-use-list "COMBINED")
;; => (#<PACKAGE "BASE-B">)
The COMMON-LISP-USER Package
;; CL-USER typically uses at least COMMON-LISP
(member (find-package "COMMON-LISP")
(package-use-list "COMMON-LISP-USER"))
;; => (#<PACKAGE "COMMON-LISP"> ...)