書くと、次のようになります。xnilという具合に、所望の動作をします。nil))といったところ。マクロでは、文字通り、引数が本体に、評価されずに渡されます。引数は、クォートされて本体に渡されるのです。結論から言えば、出来ます(たぶん、笑)。その回答が、次の項になります。マクロが呼び出された場所で評価される式を作るために、マクロを組みます。`(バック・クォート)を多用します。組み合わせは、必須みたいなものでしょう。バック・クォートがありません。記述した式がそのまま、展開されます。