This is an internal package of the Common Lisp stepper. This package exports the stepper generator functions, and defines stepper interactive functions (not exported). See the documentation of the package COM.INFORMATIMAGO.COMMON-LISP.LISP.STEPPER. BUGS: we should probably design it with hooks so that clients may define the stepping/tracing user interface. Copyright Pascal J. Bourguignon 2012 - 2015 This package is provided under the Afero General Public License 3. See the source file for details.
*step-level* |
variable |
The level.
Initial value: 0
*step-max-trace-depth* |
variable |
The maximum depth of function calls that should be traced. When more than that depth of calls occur, the *step-mode* switches to :run.
Initial value: NIL
*step-mode* |
variable |
May be :run, :function :trace or :step. :run don't print anything, just evaluate the forms. :function just prints the function calls and their results. :trace just prints the forms and their results as they are evaluted. :step prints the form, then ask the user what to do (step over, step into, trace, run). When break-points are implemented, :run, :function and :trace will run until a break-point is reached.
Initial value: RUN
*step-package* |
variable |
The package bound to *PACKAGE* while printing tracing logs.
Initial value: #<Package "COMMON-LISP-USER">
*step-print-case* |
variable |
The value bound to *PRINT-CASE* while printing tracing logs.
Initial value: DOWNCASE
*step-print-length* |
variable |
The value bound to *PRINT-LENGTH* while printing tracing logs.
Initial value: 10
*step-print-level* |
variable |
The value bound to *PRINT-LEVEl* while printing tracing logs.
Initial value: 3
*step-print-readably* |
variable |
The value bound to *PRINT-READABLY* while printing tracing logs.
Initial value: NIL
*step-trace-output* |
variable |
The stream where the stepper traces are written to.
Initial value: #<SYNONYM-STREAM to *TRACE-OUTPUT* #x302001A3327D>
(did-bind variable value &optional stream) |
function |
RETURN: VALUE
DID-STEP
DID-TAG
PRINT-STEP-RESULTS
SIMPLE-STEP
STEP-ATOM
STEP-BINDINGS
STEP-BODY
(step-break-entry &rest fnames) |
macro |
DO: Enable breaking on entry of functions named by FNAMES. FNAMES: A list of function names. NOTE: The functions must have been compiled with the operators from the CL-STEPPER package not the CL package. RETURN: The list of function names added.
(step-break-exit &rest fnames) |
macro |
DO: Enable breaking on exit of functions named by FNAMES. FNAMES: A list of function names. NOTE: The functions must have been compiled with the operators from the CL-STEPPER package not the CL package. RETURN: The list of function names added.
STEP-CHOICE
STEP-CONDITION
(step-disabled form) |
function |
RETURN: A form where FORM is evaluated in an environment where all the stepper special operator macros expand to CL special operators.
STEP-EXPRESSION
(step-function kind name lambda-list body env) |
function |
KIND: A lambda-list kind (:ordinary for functions, :specialized for methods, :destructuring for macros). NAME: The name of the defined function or macro. LAMBDA-FORM: A lambda form. BODY: A list of forms, the body of the function. RETURN: A stepping body.
(step-lambda lambda-form &key kind name environment) |
function |
ENV: An environment. LAMBDA-FORM: A lambda form. KIND: A lambda-list kind (:ordinary for functions, :generic for generic functions, :specialized for methods, :destructuring for macros, etc). NAME: The name of the defined function or macro. RETURN: A stepping lambda-form from the LAMBDA-FORM.
STEP-MESSAGE
STEP-SIMPLE-FORM
(step-trace-function &rest fnames) |
macro |
DO: Enable tracing of functions named by FNAMES. FNAMES: A list of function names. NOTE: The functions must have been compiled with the operators from the CL-STEPPER package not the CL package. RETURN: The list of function names added.
(step-unbreak-entry &rest fnames) |
macro |
DO: Disable breaking on entry of functions named by FNAMES. FNAMES: A list of function names. NOTE: The functions must have been compiled with the operators from the CL-STEPPER package not the CL package. RETURN: The list of step-break-entry functions remaining.
(step-unbreak-exit &rest fnames) |
macro |
DO: Disable breaking on exit of functions named by FNAMES. FNAMES: A list of function names. NOTE: The functions must have been compiled with the operators from the CL-STEPPER package not the CL package. RETURN: The list of step-break-entry functions remaining.
(step-untrace-function &rest fnames) |
macro |
DO: Disable tracing of functions named by FNAMES. FNAMES: A list of function names. NOTE: The functions must have been compiled with the operators from the CL-STEPPER package not the CL package. RETURN: The list of step-traced functions remaining.
STEPPER-DECLARATION-P
SUBSTITUTE-IGNORABLE
WILL-STEP