:entrycond form
This option controls the printing of information on entry to a traced function. form is evaluated upon entry to the function, and information is printed if and only if form evaluates to t
. This allows you to turn off printing of function entry information by supplying a form of nil
, as in the example below.
:exitcond form
This option controls the printing of information on exit from a traced function. form is evaluated upon exit from the function, and, like :entrycond
, information is printed if and only if form evaluates to t
. This allows you to turn off printing of function exit information by supplying a form of nil
.
An example of using :exitcond
and :entrycond
is shown below:
fac
function, set the values of :entrycond
and :exitcond
as follows.:entrycond => (evenp (car *traced-arglist*))
:exitcond => (oddp (car *traced-arglist*))
Information is only printed on entry to fac
if the argument passed to fac
is even. Conversely, information is only printed on exit from fac
if the argument passed to fac
is odd.
CL-USER 12 > (fac 10)
The tracing information printed is as follows:
0 FAC > (10)
2 FAC > (8)
4 FAC > (6)
6 FAC > (4)
8 FAC > (2)
9 FAC < (1)
7 FAC < (6)
5 FAC < (120)
3 FAC < (5040)
1 FAC < (362880)