Upon entering a function that is being traced,
*traced-arglist*
is bound to the list of arguments given to the function.
*traced-arglist*
is then printed after the function name in the output from tracing. It is accessible in the
:before
and
:after
forms to trace. However care should be used when manipulating this variable, since it is the value of
*traced-arglist*
itself that is used when calling the traced function. Thus if this value is altered by the
:before
forms then the function receives the altered argument list.
USER 14 > (trace (+ :before
((setq *traced-arglist*
(mapcar #'1+
*traced-arglist*)))))
+
USER 15 > (+ 1 2 3)
0 + > (1 2 3)
(2 3 4)
0 + < (9)
9
LispWorks User Guide and Reference Manual - 21 Dec 2011