:zoom top-level command

$Revision: 5.0.2.3 $

Arguments: &key from-read-eval-print-loop brief moderate verbose top bottom count specials function relative all

This command prints the evaluation stack. It uses the current stack frame as the center of attention, and prints some number of frames on either side of the current frame. The value of the variable tpl:*zoom-display* is the total number of frames to display, and an equal number of frames are printed above and below the current stack frame, if possible. The arguments to the :zoom command control the type and quantity of the displayed stack.

After a :zoom or any of its analogs (such as :top or :bottom) the special variable cl:* contains the lisp expression representing the current frame. That expression is approximately what is shown in a moderate display with :function nil, regardless of the mode in which :zoom itself displays.

This command operates on the focused process when multiprocessing is active.

The minimal abbreviation of :zoom is :zo.

The from-read-eval-print-loop argument controls whether frames after the most recent entry to the Lisp read-eval-print-loop are ignored (when this argument is true, the default) or not (when this argument is nil). This argument should be specified nil when :zoom is called programmatically. It should be left t when :zoom is called interactively.

The remaining keyword arguments to :zoom are described in the following table.

Table 1: :zoom Keyword Arguments

:zoom keyword

Functionality

Keyword argument value

   

nil

non-nil

:brief These control the amount of information :zoom prints.

Specify only one at a time. Chosen value sticks from one call to :zoom to the next.

See examples of the output styles immediately below the table.

:moderate is used. :zoom will print the function names of the stack frames only. Frames will be separated by `<-' and more than one will appear on a line. The current frame will be displayed specially.
:moderate has no effect on mode of the display :zoom will print function names and actual parameters. :moderate is the initial default display mode.
:verbose :moderate is used :zoom will print function names, formals (the names of the parameters in the function definition) and actual parameters.
:top These arguments control where :zoom places the current stack frame pointer. Specify only one at a time. has no effect. current stack frame pointer will be at the top of the stack.
:bottom has no effect. current stack frame pointer will be at the bottom of the stack.
:count Integer number of frames to print. Initial default value is controlled by tpl:*zoom-display*. Specifying a value sets that variable so the value sticks. Not applicable. The value t (but not other non-nil values) means display all applicable frames.
:specials If specified, sets (not binds) the value of tpl:*zoom-print-special-bindings*.

The value of this argument sticks between :zooms.

Specials bound by active functions will not be printed. If tpl:*zoom-print-special-bindings* is non-nil, :zoom will print any specials bound by active functions.
:function Affects how frames are printed. The value of this arguments sticks from one call of :zoom to another. Frames will be printed as

(funcall
#<function . . .> . . .).

Frames will be printed as

(foo . . .).

This is the initial default.

:relative Print line numbers relative to the current frame for :moderate and :verbose :zoom displays (has no effect on :brief display). The value of this argument sticks from one call to :zoom to the next. Do not print relative identifiers. This is the initial default. An identifier is printed on each line output giving the location of that line relative to the current frame.
:all Provides override to the :hide command.

:all differs from the command :unhide in the following way. :unhide (called with no arguments) reverts the list of hidden frames to the original list of hidden frames. Specifying the :all argument as non-nil causes all frames to be displayed. The value of this argument sticks from one call to :zoom to another.

If specified and nil, the frames specified by :hide will be hidden. This is the initial default. If specified and non-nil, then the list associated with the :hide command is ignored and all frames are displayed.

See top_level.htm for more information on top-level commands.See debugging.htm for information on the debugger.

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

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