package-name
package-name Function
Syntax:
package-name package → name
Arguments and Values:
package—a package designator .
name—a string or nil.
Description:
package-name returns the string that names package, or nil if the package designator is a package object that has no name (see the function delete-package).
Examples:
(in-package "COMMON-LISP-USER") → #<PACKAGE "COMMON-LISP-USER">
(package-name \*package\*) → "COMMON-LISP-USER"
(package-name (symbol-package :test)) → "KEYWORD"
(package-name (find-package ’common-lisp)) → "COMMON-LISP"
(defvar \*foo-package\* (make-package "FOO"))
(rename-package "FOO" "FOO0")
(package-name \*foo-package\*) → "FOO0"
Exceptional Situations:
Should signal an error of type type-error if package is not a package designator .
Expanded Reference: package-name
Basic Usage: Getting the Name of a Package
package-name returns the string name of a package.
(package-name *package*)
;; => "COMMON-LISP-USER"
(package-name (find-package "COMMON-LISP"))
=> "COMMON-LISP"
Using a String Designator
The argument can be a string (package name) or symbol, not just a package object.
(package-name "KEYWORD")
=> "KEYWORD"
(package-name 'keyword)
=> "KEYWORD"
The KEYWORD Package
(package-name (symbol-package :test))
=> "KEYWORD"
Deleted Packages Return NIL
After a package is deleted, package-name returns NIL for the deleted package object.
(let ((pkg (make-package "DOOMED" :use '())))
(delete-package pkg)
(package-name pkg))
=> NIL
The Name Reflects Renaming
If a package has been renamed, package-name returns the new name.
(make-package "ORIGINAL" :use '())
==> #<PACKAGE "ORIGINAL">
(rename-package "ORIGINAL" "RENAMED")
(package-name (find-package "RENAMED"))
=> "RENAMED"