(defmacro make-test-lambda (arg) `(lambda () (hardcoded-func ,arg))) ;works: (make-test-lambda 'nother-func) ; ->(lambda nil (hardcoded-func (quote nother-func))) (defun my-test (arg) (make-test-lambda arg)) ;doesn't work: (my-test 'nother-func) ; -> (lambda nil (hardcoded-func arg)) (defun my-test2 (arg) (list 'make-test-lambda arg)) ;doesn't work: (my-test2 'nother-func) ; -> (lambda nil (hardcoded-func arg))