Scieneer Common Lisp 1.3.9 online documentation define-condition name (&rest parent-types) (&rest slot-specs) &body options [Macro] define-condition name (parent-type*) (slot-spec*) option*
- Define name as a condition type. This new type inherits slots and its report function from the specified parent-type's. A slot spec is a list of:
- (slot-name :reader <rname> :initarg <iname> {option value}*)
The define-class slot options :allocation, :initform, [slot] :documentation and :type and the overall options :default-initargs and [type] :documentation are also allowed.
The :report option is peculiar to define-condition. Its argument is either a string or a two-argument lambda or function name. If a function, the function is called with the condition and stream to report the condition. If a string, the string is printed.