User Tools

====== Standard Generic Function SLOT-UNBOUND ====== ====Syntax==== * **slot-unbound** //class instance slot-name// → //result''*''// ====Method Signatures==== * **slot-unbound** (//class// **[[CL:Types:t]]**) //instance slot-name// ====Arguments and Values==== * //class// - the //[[CL:Glossary:class]]// of the //instance//. * //instance// - the //instance// in which an attempt was made to //[[CL:Glossary:read]]// the //[[CL:Glossary:unbound]]// //[[CL:Glossary:slot]]//. * //slot-name// - the //[[CL:Glossary:name]]// of the //[[CL:Glossary:unbound]]// //[[CL:Glossary:slot]]//. * //result// - an //[[CL:Glossary:object]]//. ====Description==== The generic function **slot-unbound** is called when an unbound //[[CL:Glossary:slot]]// is read in an //instance// whose metaclass is **[[CL:Types:standard-class]]**. The default //[[CL:Glossary:method]]// signals an error of type **[[CL:Types:unbound-slot]]**. The name slot of the **[[CL:Types:unbound-slot]]** //[[CL:Glossary:condition]]// is initialized to the name of the offending variable, and the instance slot of the **[[CL:Types:unbound-slot]]** //[[CL:Glossary:condition]]// is initialized to the offending instance. The generic function **slot-unbound** is not intended to be called by programmers. Programmers may write //[[CL:Glossary:method|methods]]// for it. The //[[CL:Glossary:function]]// **slot-unbound** is called only indirectly by **[[CL:Functions:slot-value]]**. If **slot-unbound** returns, only the //[[CL:Glossary:primary value]]// will be used by the caller, and all other values will be ignored. ====Examples==== None. ====Affected By==== None. ====Exceptional Situations==== The default //[[CL:Glossary:method]]// on **slot-unbound** signals an error of type **[[CL:Types:unbound-slot]]**. ====See Also==== * **[[CL:Functions:slot-makunbound|Function SLOT-MAKUNBOUND]]** ====Notes==== An unbound //[[CL:Glossary:slot]]// may occur if no **'':initform''** form was specified for the //[[CL:Glossary:slot]]// and the //[[CL:Glossary:slot]]// value has not been set, or if **[[CL:Functions:slot-makunbound]]** has been called on the //[[CL:Glossary:slot]]//. \issue{UNDEFINED-VARIABLES-AND-FUNCTIONS:COMPROMISE} \issue{SLOT-MISSING-VALUES:SPECIFY} \issue{UNDEFINED-VARIABLES-AND-FUNCTIONS:COMPROMISE}