If I recall, I already answered you on c.l.l, as did a few others. Did you _try_ what was suggested?
CL-USER> (defvar *mark* nil) *MARK* CL-USER> (defmacro with-mark (&body forms) `(let ((*mark* t)) ,@forms)) WITH-MARK CL-USER> (defun markp () *mark*) MARKP CL-USER> (defun f () (markp)) F CL-USER> (with-mark (loop repeat 3 collect (f))) (T T T) CL-USER> (loop repeat 3 collect (f)) (NIL NIL NIL)
This is what you wanted, yes?
Cheers,
-- Nikodemus Schemer: "Buddha is small, clean, and serious." Lispnik: "Buddha is big, has hairy armpits, and laughs."