The Stepper menu offers fine control over the next step.
It also includes commands for setting breakpoints, displaying the source code, macro expansion, and aborting from the current step.
All these commands are also available on the Stepper toolbar as shown in The Stepper controls.
Figure 25.4 The Stepper controls
The Stepper controls operate as described below. Recall that the current position is always highlighted in orange:
Steps once, remaining inside the current form. At the start of the current form, this steps the first inner form. At a function call, it steps to the value. At the form value, it steps the next form or value.
Steps once. This is the same as Step above, except that at a function call, it steps that function if the source is known.
At the start of a form, steps to the function call of that form after evaluation of the arguments. At a function call or at the end of a form, steps to the function call of the enclosing form.
At the start or function call of a form, steps to the value of that form. At the end of a form, steps to the value of the enclosing form.
Steps to the start of the next form, or behaves like Step if there is no next form.
Steps to the value of the current function.
Steps to the cursor position, or displays a message if that position is not steppable.
Runs the code until a breakpoint is reached.
Sets a breakpoint at the position of the cursor if there is no breakpoint there already and the position is steppable. If there is a breakpoint under the cursor, this command removes it. Note that breakpoints are highlighted red, though the orange highlight on the current stepping position overrides any breakpoint highlight..
Moves the editor buffer in the source area so that the definition at the top of the backtrace area, and the active form within it, is visible.
Macroexpands the form under the cursor.
Collapses the macro expansion under the cursor.
Aborts the execution and returns to the form which you first stepped, allowing you to repeat the execution or edit the form. This command is available only when using the Stepper in standalone mode.
The following Editor commands run the corresponding Stepper command in the current stepper:
Stepper Breakpoint
Stepper Continue
Stepper Macroexpand
Stepper Next
Stepper Restart
Stepper Show Current Source
Stepper Step
Stepper Step Through Call
Stepper Step To Call
Stepper Step To Cursor
Stepper Step To End
Stepper Step To Value
Stepper Undo Macroexpand
These commands can be bound to keys in the LispWorks editor, which makes those keys invoke the command in a Stepper tool. For example:
(editor:bind-key "Stepper Step" #("Control-S" "Control-s"))
Note: the editor key binding only takes effect when the input focus is in the Source or Listener panes of the Stepper tool.
For more information about Editor key bindings, see the LispWorks Editor User Guide .
LispWorks IDE User Guide (Macintosh version) - 12 Feb 2015