> I use a simple macro PRINTVARS that is inserted within a function definition for
> debugging, to print out the current value of symbols or expressions. Thus,
>
> (defun foo () .... (printvars bar baz) ....)
>
> generates a message like
>
> PRINTVARS: BAR 1.234 BAZ "ixnay"
>
> when FOO is called. This is quite useful (and quicker than writing the equivalent
> FORMAT calls), but what would be even nicer is that PRINTVARS also print out the
> name of the function, thus,
>
> PRINTVARS (called from FOO): BAR 1.234 BAZ "ixnay"
>
> especially if there is more than one function which includes a PRINTVARS form. In
> order to do this, is there any way that one can automatically get the function name
> in the necessary manner?
Since you have to hand-craft each call to PRINTVARS, why not put in
the function name explicitly? You could write
(printvars foo bar baz)
or, if you want to make it optional,
(printvars :in foo bar baz)
--
-- Drew McDermott
Yale Computer Science Department