16 Signals

There are new condition names (signals) that can be caught when using EIEIO.

Signal: invalid-slot-name obj-or-class slot

This signal is called when an attempt to reference a slot in an obj-or-class is made, and the slot is not defined for it.

Signal: cl-no-applicable-method generic arguments

This signal is called when generic is called, with arguments and nothing is resolved. This occurs when generic has been defined, but the arguments make it impossible for EIEIO to determine which method body to run.

To prevent this signal from occurring in your class, implement the method cl-no-applicable-method for your class. This method is called when to throw this signal, so implementing this for your class allows you block the signal, and perform some work.

Signal: cl-no-primary-method generic arguments

Like cl-no-applicable-method but applies when there are some applicable methods, but none of them are primary. You can similarly block it by implementing a cl-no-primary-method method.

Signal: cl-no-next-method class arguments

This signal is called if the function cl-call-next-method is called and there is no next method to be called.

Overload the method cl-no-next-method to protect against this signal.

Signal: invalid-slot-type slot spec value

This signal is called when an attempt to set slot is made, and value doesn’t match the specified type spec.

In EIEIO, this is also used if a slot specifier has an invalid value during a defclass.

Signal: unbound-slot object class slot

This signal is called when an attempt to reference slot in object is made, and that instance is currently unbound.