5.2 Inspect

The function inspect is an interactive version of describe . It displays objects in a similar way to describe . Entering the inspector causes a new level of the top loop to be entered with a special prompt indicating that the inspector has been entered and showing the current inspector level.

In the modified top loop, if you enter a slot name, that slot is inspected and the current object is pushed onto an internal stack of previously inspected objects. The special variables $ , $$ , and $$$ are bound to the top three objects on the inspector stack.

The following keywords are treated specially as comands by the inspector.

Inspector keywords

: cv

Display current values of control variables.

: d

Display current object.

: dm

Display more of current object.

: dr

Display rest of current object.

: h

Display help on inspector commands.

: i m

Recursively invoke a new inspector. m is an object to inspect.

: m

Change the inspection mode -- see Inspection modes.

: q

Quit current inspector.

: s n v

Sets slot n to value v.

: sh

Show inspector stack.

:u int

Undo last inspection. If you supply an optional integer argument, int , then the last int inspections are undone.


Undo last inspection and redisplay current object.

You can get brief help listing these commands by entering :? at the inspector prompt.

The control variables *inspect-print-level* and *inspect-print-length* are similar to *describe-print-level* and *describe-print-length* (see above).

:dm displays more slots of the current object. If the object has more than *describe-length* slots, then the first *describe-length* will be printed, followed by an ellipsis and then

(:dm or :dr for more)

If you enter the command :dm at the prompt it displays the next *describe-length* slots, and if you enter :dr it displays all the remaining slots. This only works on the last inspected object, so if you recursively inspect a slot and come back, :dm does not do anything useful. Typing :d lets you view the object again.

:ud is equivalent to typing :u followed by :d .

LispWorks User Guide - 11 Mar 2008