CLHS: Standard Generic Function SLOT-MISSING

#

Standard Generic Function SLOT-MISSING

Syntax:

slot-missing class object slot-name operation `&optional` new-value => result*

Method Signatures:

slot-missing (class t) object slot-name operation `&optional` new-value

Arguments and Values:

class---the class of object.

object---an object.

slot-name---a symbol (the name of a would-be slot).

operation---one of the symbols setf, slot-boundp, slot-makunbound, or slot-value.

new-value---an object.

result---an object.

Description:

The generic function slot-missing is invoked when an attempt is made to access a slot in an object whose metaclass is standard-class and the slot of the name slot-name is not a name of a slot in that class. The default method signals an error.

The generic function slot-missing is not intended to be called by programmers. Programmers may write methods for it.

The generic function slot-missing may be called during evaluation of slot-value, `(setf slot-value)`, slot-boundp, and slot-makunbound. For each of these operations the corresponding symbol for the operation argument is slot-value, setf, slot-boundp, and slot-makunbound respectively.

The optional new-value argument to slot-missing is used when the operation is attempting to set the value of the slot.

If slot-missing returns, its values will be treated as follows:

- If the operation is setf or slot-makunbound, any values will be ignored by the caller.

- If the operation is slot-value, only the primary value will be used by the caller, and all other values will be ignored.

- If the operation is slot-boundp, any boolean equivalent of the primary value of the method might be is used, and all other values will be ignored.

Examples: None.

Affected By: None.

Exceptional Situations:

The default method on slot-missing signals an error of type error.

See Also:

defclass, slot-exists-p, slot-value

Notes:

The set of arguments (including the class of the instance) facilitates defining methods on the metaclass for slot-missing.

The following X3J13 cleanup issue, not part of the specification, applies to this section:

- SLOT-MISSING-VALUES:SPECIFY

Copyright 1996-2005, LispWorks Ltd. All rights reserved.