restart-case restartable-form {clause} => result*
clause::= (case-name lambda-list [[:interactive interactive-expression | :report report-expression | :test test-expression]] declaration* form*)
The macro restart-case
behaves as specified in the ANSI Common Lisp standard.
In addition to that specification, report-expression may be a form whose car
is list
. Such a form is evaluated when the restart is set up and is expected to return a list of a format string and format arguments. When the restart is asked to report, this is done by calling format
on the stream, the format string and the format arguments. This is more efficient than specifying an equivalent function, because no function object is created.
LispWorks User Guide and Reference Manual - 13 Feb 2015