ToC DocOverview CGDoc RelNotes Index PermutedIndex
Allegro CL
Home Previous Up Next Table of Contents Index
  ANSI Common Lisp   9 Conditions   9.2 Dictionary of Conditions

9.2.34 invoke-restart Function

invoke-restart restart &rest arguments    {result}*

Arguments and Values:
restart - a restart designator.

argument - an object.

results - the values returned by the function associated with restart, if that function returns.

Calls the function associated with restart, passing arguments to it. Restart must be valid in the current dynamic environment.

 (defun add3 (x) (check-type x number) (+ x 3))
 (foo 'seven)
 Error: The value SEVEN was not of type NUMBER.
 To continue, type :CONTINUE followed by an option number:
 1: Specify a different value to use.
 2: Return to Lisp Toplevel.
 Debug> (invoke-restart 'store-value 7)

Side Effects:
A non-local transfer of control might be done by the restart.

Affected By:
Existing restarts.

Exceptional Situations:
If restart is not valid, an error of type control-error is signaled.

See Also:
find-restart, restart-bind, restart-case, invoke-restart-interactively

The most common use for invoke-restart is in a handler. It might be used explicitly, or implicitly through invoke-restart-interactively or a restart function.

Restart functions call invoke-restart, not vice versa. That is, invoke-restart provides primitive functionality, and restart functions are non-essential "syntactic sugar."

Allegro CL Implementation Details:

Home Previous Up Next Table of Contents Index
© Franz Inc. All Rights Reserved - File last updated 2022-07-25