User Tools


Function INVOKE-RESTART

Syntax

  • invoke-restart restart &rest argumentsresult*

Arguments and Values

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))

ADD3

(add3 '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

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."