The Listener is actually a special type of editor window, which is run in a mode known as execute mode. This means that, as well as the normal keyboard commands available to the editor, a number of additional commands are available which are especially useful when working interactively.
These commands are useful in the common situation where you need to repeat a previously entered command, or enter a variant of it.
Emacs Key Sequence: Replaces the current command by the first command. | |
Emacs Key Sequence: Kills the current command when in a listener. | |
Emacs Key Sequence: Replaces the current command by the last command. | |
Emacs Key Sequence: None Searches the history list using current input. That is, it searches for a previous command containing the string entered so far, and replaces the current command with it. Repeated uses step back to previous matches. | |
Emacs Key Sequence: Presents a list of items in the command history, and replaces the current command with the selection. | |
Emacs Key Sequence: Inserts the previous command into the current one, when in a listener. |
These commands are useful when in the debugger in the Listener:
Emacs Key Sequence: Gets a backtrace when in the debugger. | |
Emacs Key Sequence: Aborts in the debugger. | |
Emacs Key Sequence: Continues in the debugger. | |
Emacs Key Sequence: Displays the previous frame in the debugger. | |
Emacs Key Sequence: Displays the next frame in the debugger. | |
Emacs Key Sequence: Edits the current frame in the debugger. | |
Emacs Key Sequence: Prints the variables of the current frame in the debugger. |
Here are more commands, with their Execute mode key bindings, which are useful in the Listener.
Emacs Key Sequence: Inspects the current value (that is, the value of the Common Lisp variable *). | |
Emacs Key Sequence: None Inspects the value of an editor variable, which is prompted for. | |
Emacs Key Sequence: Abandons the current input. |
For more details about other keyboard commands available in the editor, see 12 The Editor, and the Editor User Guide.
The results of expression evaluation in the Listener are output as marked objects (except for trivial objects). That means they have a special style, and you can operate on them by using the context menu and choosing items from the Marked Object submenu, with items like the Values menu.
Note that, for the latest results, you also can also use Values menu in the menu bar. However, the Values menu is applicable only to the latest results, and if there is more than one result (the form that was evaluated returned multiple values), then it is applied to the list of the latest results. The Marked Object submenu of the context menu is applicable to all the results in the Listener, and to each result individually.
The style used to display marked objects is called Marked Object and can be changed via Preferences... > Environment > Styles > Styles Colors And Attributes. By default, marked objects are underlined.
The function prin1-marked-object can be used to print objects as marked objects in the Listener or Background Output streams.
lw-tools:prin1-marked-object object &optional output-stream => object
The function prin1-marked-object
prints any Lisp object object to the stream designator output-stream similarly to prin1, but when output-stream is a Listener or Background Output stream, it outputs object as a marked object. output-stream defaults to the value of *standard-output*.
prin1-marked-object
limits the length of the output to 1000000 (million) characters.
LispWorks IDE User Guide (Macintosh version) - 01 Dec 2021 19:36:33