A list of packages whose conditions are removed (that is where the symbol-package of the name of the condition is one of the packages). The system automatically adds the internal packages to this list. Conditions that are in these packages but are also in the :keep-conditions
list or its precdence list are kept. The defaults cause all the conditions that are defined by the system and are not standard to be deleted. To keep all the conditions, you should do :keep-conditions :all
(or :condition-deletion-action nil
). To eliminate all conditions, you should do :keep-conditions :none
.
When a condition is deleted (that is when :condition-deletion-action
is :delete
), trying to signal it returns a simple-error
, which means that it got the wrong type. On the other hand, it has all the information in the format-arguments
slot. If the conditions are redirected (that is, when :condition-deletion-action
is :redirect
), a stricter type is returned, but some of the information may be lost, because the condition that it redirects to has fewer slots.