次: Macro expansion, 前: Macro Arguments, 上: Macros
個々の引数の前にある、クォートされていない空白(whitespace)は削除されます。 各引数の内部では、 クォートされていないカッコはすべて対になっていなければなりません。 たとえば、fooがマクロのとき、
foo(() (`(') `(')
これはひとつの引数を伴ったマクロの呼び出しで、 その引数の値は`() (() ('です。
引数自体がマクロ展開の対象になって欲しいのでない限り、 マクロへの引数はすべてクォートするのが普通です。 したがって、上記のカッコを含む例の`正しい'書き方は次のようになります。
foo(`() (() (')
しかし、ときにはいくつかの引数をクォートしないでおく必要がある場合もあり、 また、そうすることに何ら問題はありません。 ただ、注意を怠ると人生がすこしばかり厳しいものになるだけです。