(defun mini-frob (val) (intern "thang") (setf thang nil) (setf (get thang 'prop) val)) (defmacro frob (thing) `(format t "I frob ~A ~A " ,thing ,(get thang 'prop))) (defmacro mega-frob (val) `(eval-when ( :compile-toplevel :load-toplevel :execute ) (mini-frob ,val) (frob 42))) (mega-frob 7)