Top-level Command |  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version

## :args

Arguments: &key save

Lisp stores some function arguments in registers, rather than on the stack. This allows code to run significantly faster, but makes debugging harder, since the registers storing the arguments may be overwritten when an unhandled error occurs, and therefore the values will not be available for examination when debugging.

Lisp can optionally save values stored in registers (at the cost of worse performance). If argument saving is enabled, the argument values in registers will be saved and available for debugging. If argument saving is disabled, those argument values will not be saved. Unsaved arguments show up as `:unknown` in stack backtraces (as printed by :zoom).

This command either reports whether such arguments are saved or specifies whether arguments should be saved or should not be saved.

If the save is unspecified, this command reports on the current status of argument saving, printing `(:save t)` if arguments are being saved, `(:save nil)` if they are not.

If the save is specified `t` or `nil`, argument saving will start or stop, respectively.

The setf'able function argument-saving is the functional equivalent of this command. It takes no argument and returns `t` or `nil` as arguments are or are not saved.

Note that on some architectures (in 6.2, only the Sparc, including the 64-bit Sparc), arguments are always saved. On those architectures, this command has no effect.

See top-level.htm for more information on top-level commands.

Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version