(defun foo (x) (macrolet ((prog2 (x y &rest rest) `(princ x))) (prog2 1 2 x))) (defun bar (x) (macrolet ((prog1 (x y &rest rest) `(princ x))) (prog2 1 2 x))) (defun baz (x) (macrolet ((progn (x y &rest rest) `(princ x))) (prog2 1 2 x)))