User Tools


Differences

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

Link to this comparison view

cl:functions:slot-makunbound [2019/09/14 05:00]
cl:functions:slot-makunbound [2019/09/20 16:00] (current)
Line 1: Line 1:
 +====== Function SLOT-MAKUNBOUND ======
 +
 +====Syntax====
 +  * **slot-makunbound** //instance slot-name// → //​instance//​
 +
 +====Arguments and Values====
 +  * //​instance//​ -- instance.
 +  * //​slot-name//​ - a //​[[CL:​Glossary:​symbol]]//​.
 +
 +====Description====
 +The //​[[CL:​Glossary:​function]]//​ **slot-makunbound** restores a //​[[CL:​Glossary:​slot]]//​ of the name //​slot-name//​ in an //​instance//​ to the unbound state.
 +
 +====Examples====
 +None.
 +
 +====Affected By====
 +None.
 +
 +====Exceptional Situations====
 +If no //​[[CL:​Glossary:​slot]]//​ of the name //​slot-name//​ exists in the //​instance//,​ **[[CL:​Functions:​slot-missing]]** is called as follows:
 +
 +<​blockquote> ​
 +(slot-missing (class-of //​instance//​) //​instance//​ //​slot-name//​ '​slot-makunbound) ​
 +</​blockquote>​
 +
 +(Any values returned by **[[CL:​Functions:​slot-missing]]** in this case are ignored by **slot-makunbound**.)
 +
 +The specific behavior depends on //​instance//'​s //​[[CL:​Glossary:​metaclass]]//​. An error is never signaled if //​instance//​ has //​[[CL:​Glossary:​metaclass]]//​ **[[CL:​Types:​standard-class]]**. An error is always signaled if //​instance//​ has //​[[CL:​Glossary:​metaclass]]//​ **[[CL:​Types:​built-in-class]]**. The consequences are undefined if //​instance//​ has any other //​[[CL:​Glossary:​metaclass]]//​--an error might or might not be signaled in this situation. Note in particular that the behavior for //​[[CL:​Glossary:​conditions]]//​ and //​[[CL:​Glossary:​structures]]//​ is not specified.
 +
 +====See Also====
 +  * **[[CL:​Functions:​slot-boundp|Function SLOT-BOUNDP]]**
 +  * **[[CL:​Functions:​slot-missing|Generic Function SLOT-MISSING]]**
 +
 +====Notes====
 +Although no //​[[CL:​Glossary:​implementation]]//​ is required to do so, implementors are strongly encouraged to implement the //​[[CL:​Glossary:​function]]//​ **slot-makunbound** using the //​[[CL:​Glossary:​function]]//​ **[[CL:​Functions:​slot-makunbound-using-class]]** described in the //​[[CL:​Glossary:​Metaobject Protocol]]//​. ​
 +
 +\issue{SLOT-MISSING-VALUES:​SPECIFY} \issue{SLOT-VALUE-METACLASSES:​LESS-MINIMAL}