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.