スイマセン、基本的なところなんですが

>(defun test1(x)(eq x #'+))
TEST1
>(test1 #'+)
T
なのに

>(defmacro test2(x)(eq x #'+))
TEST2
>(test2 #'+)
NIL
になるんですが、マクロと関数で引数の評価の仕方が違うんでしょうか?