:restart top-level command

$Revision: 5.0.2.3 $

Arguments: &optional frame

The frame argument to :restart must evaluate to either a frame object or nil. A frame object is a list whose first element is a symbol naming a function and whose later arguments are the evaluated arguments to the function. When :zoom is printing frames in moderate mode, it prints frame objects as described and sets the value of cl:* to the chosen current frame object.

The frame argument replaces the current frame in the evaluation stack and computation is continued. (If the argument evaluates to nil or is left out altogether, computation is restarted from the current frame. You have presumably done something to change the state of Lisp - e.g. defined an undefined function or changed the value of a variable - so that whatever error threw you into a break loop is not repeated.)

You cannot restart every frame. If you attempt to :restart over an inappropriate frame, Lisp will signal an error.

The minimal abbreviation of :restart is :rest.

See top_level.htm for more information on top-level commands. See debugging.htm for information on the debugger and for examples of :restart and a comparison between :restart and :return.

The general documentation description is in introduction.htm. The index in index.htm.

Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.