Previous: Slot Options, Up: Building Classes [Contents][Index]
In the options-and-doc arguments to defclass, the
following class options may be specified:
:documentationA documentation string for this class.
If an Emacs-style documentation string is also provided, then this
option is ignored. An Emacs-style documentation string is not
prefixed by the :documentation tag, and appears after the list
of slots, and before the options.
:allow-nil-initformIf this option is non-nil, and the :initform is nil, but
the :type is specifies something such as string then allow
this to pass. The default is to have this option be off. This is
implemented as an alternative to unbound slots.
This options is specific to Emacs, and is not in the CLOS spec.
:abstractA class which is :abstract cannot be instantiated, and instead
is used to define an interface which subclasses should implement.
This option is specific to Emacs, and is not in the CLOS spec.
:custom-groupsThis is a list of groups that can be customized within this class. This
slot is auto-generated when a class is created and need not be
specified. It can be retrieved with the class-option command,
however, to see what groups are available.
This option is specific to Emacs, and is not in the CLOS spec.
:method-invocation-orderThis controls the order in which method resolution occurs for
:primary methods in cases of multiple inheritance. The order
affects which method is called first in a tree, and if
call-next-method is used, it controls the order in which the
stack of methods are run.
Valid values are:
:breadth-firstSearch for methods in the class hierarchy in breadth first order. This is the default.
:depth-firstSearch for methods in the class hierarchy in a depth first order.
:c3Searches for methods in a linearized way that most closely matches what CLOS does when a monotonic class structure is defined.
See Method Invocation, for more on method invocation order.
:metaclassUnsupported CLOS option. Enables the use of a different base class other
than standard-class.
:default-initargsUnsupported CLOS option. Specifies a list of initargs to be used when
creating new objects. As far as I can tell, this duplicates the
function of :initform.
See CLOS compatibility, for more details on CLOS tags versus EIEIO-specific tags.
Previous: Slot Options, Up: Building Classes [Contents][Index]