Common Lisp the Language, 2nd Edition
Common Lisp has the following restart functions built in.
[Function]
abort &optional condition
This function transfers control to the restart named abort. If no such restart exists, abort signals an error of type control-error.
If condition is nil or not supplied, all outstanding restarts are considered. If condition is not nil, only restarts associated with that condition are considered.
The purpose of the abort restart is generally to allow control to return to the innermost ``command level.''
[Function]
continue &optional condition
This function transfers control to the restart named continue. If no such restart exists, continue returns nil.
If condition is nil or not supplied, all outstanding restarts are considered. If condition is not nil, only restarts associated with that condition are considered.
The continue restart is generally part of simple protocols where there is a single ``obvious'' way to continue, as with break and cerror. Some user-defined protocols may also wish to incorporate it for similar reasons. In general, however, it is more reliable to design a special-purpose restart with a name that better suits the particular application.
[Function]
muffle-warning &optional condition
This function transfers control to the restart named muffle-warning. If no such restart exists, muffle-warning signals an error of type control-error.
If condition is nil or not supplied, all outstanding restarts are considered. If condition is not nil, only restarts associated with that condition are considered.
warn sets up this restart so that handlers of warning conditions have a way to tell warn that a warning has already been dealt with and that no further action is warranted.
[Function]
store-value value &optional condition
This function transfers control (and one value) to the restart named store-value. If no such restart exists, store-value returns nil.
If condition is nil or not supplied, all outstanding restarts are considered. If condition is not nil, only restarts associated with that condition are considered.
The store-value restart is generally used by handlers trying to recover from errors of types such as cell-error or type-error, where the handler may wish to supply a replacement datum to be stored permanently.
[Function]
use-value value &optional condition
This function transfers control (and one value) to the restart named use-value. If no such restart exists, use-value returns nil.
If condition is nil or not supplied, all outstanding restarts are considered. If condition is not nil, only restarts associated with that condition are considered.
The use-value restart is generally used by handlers trying to recover
from errors of types such as cell-error, where the handler may wish to
supply a replacement datum for one-time use.