CL-USER> (defmacro foo () 'x) FOO CL-USER> (get-setf-expansion '(foo)) NIL NIL (#:NEW1) (SETQ X #:NEW1) X ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CL-USER> (macrolet ((bar () 'x)) (get-setf-expansion '(bar))) NIL NIL (#:NEW1) (FUNCALL #'(SETF BAR) #:NEW1) (BAR) CL-USER> (macrolet ((bar () 'x)) (macrolet ((expand (&environment env) `(get-setf-expansion '(bar) ,env))) (expand))) NIL NIL (#:NEW1) (SETQ X #:NEW1) X