User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cl:functions:package-name [2019/09/14 05:00]
cl:functions:package-name [2019/09/20 08:00] (current)
Line 1: Line 1:
 +====== Function PACKAGE-NAME ======
 +
 +====Syntax====
 +  * **package-name** //package// → //name//
 +
 +====Arguments and Values====
 +  * //package// - a //​[[CL:​Glossary:​package designator]]//​.
 +  * //name// - a //​[[CL:​Glossary:​string]]//​ or **[[CL:​Constant Variables:​nil]]**.
 +
 +====Description====
 +**package-name** returns the //​[[CL:​Glossary:​string]]//​ that names //​package//,​ or **[[CL:​Constant Variables:​nil]]** if the //package// //​[[CL:​Glossary:​designator]]//​ is a //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​object]]//​ that has no name (see the //​[[CL:​Glossary:​function]]//​ **[[CL:​Functions:​delete-package]]**).
 +
 +====Examples====
 +<​blockquote>​
 +([[CL:​Macros:​in-package]] "​COMMON-LISP-USER"​) <​r>#<​PACKAGE "​COMMON-LISP-USER">​ </r>
 +(package-name [[CL:​Variables:​star-package-star|*package*]]) <​r>"​COMMON-LISP-USER"​ </r>
 +(package-name ([[CL:​Functions:​symbol-package]] :test)) <​r>"​KEYWORD"​ </r>
 +(package-name ([[CL:​Functions:​find-package]] '​common-lisp)) <​r>"​COMMON-LISP"</​r>​
 +([[CL:​Macros:​defvar]] *foo-package* ([[CL:​Functions:​make-package]] "​FOO"​)) <​r>​*FOO-PACKAGE*</​r>​
 +(rename-package "​FOO"​ "​FOO0"​) <​r>#<​PACKAGE "​FOO0">​ </r>
 +([[CL:​Functions:​package-name]] *foo-package*) <​r>"​FOO0"</​r>​
 +</​blockquote>​
 +
 +====Side Effects====
 +None.
 +
 +====Affected By====
 +None.
 +
 +====Exceptional Situations====
 +Should signal an error of type type-error if //package// is not a //​[[CL:​Glossary:​package designator]]//​.
 +
 +====See Also====
 +None.
 +
 +====Notes====
 +None.
 +
 +\issue{PACKAGE-FUNCTION-CONSISTENCY:​MORE-PERMISSIVE} \issue{PACKAGE-DELETION:​NEW-FUNCTION} \issue{PACKAGE-DELETION:​NEW-FUNCTION} \issue{PACKAGE-FUNCTION-CONSISTENCY:​MORE-PERMISSIVE}