|
ANSI Common Lisp 9 Conditions 9.2 Dictionary of Conditions
9.2.34 invoke-restart |
Function |
- Syntax:
-
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.
- Description:
-
Calls the function associated with restart,
passing arguments to it.
Restart must be valid in the current dynamic environment.
- Examples:
-
(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)
10
- 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
- Notes:
-
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:
-
None.
|