次: Changequote, 前: Input Control, 上: Input Control
組み込みマクロdnl
は最初の改行文字までにある文字をすべて読み込んでから
改行文字も含めてそれらを捨てます。
dnl
次の例のようにdefine
の呼び出しの後に続く改行を取り除くために、
define
と一緒によく使います。
define(`foo', `Macro `foo'.')dnl A very simple macro, indeed. foo =>Macro foo.
コメントの扱かわれ方とは対照的に(see Comments)、 次の改行までの入力が改行を含めて捨てられます。
通常dnl
の後ろには、行末もしくはその他の空白(whitespace)が続きます。
GNU m4
はdnl
に続いて開きカッコがあるとき、
それを警告する診断メッセージを出します。
この場合dnl
は閉じカッコを探しながら、引数をすべて集めて処理します。
この引数の収集に起因する副作用はすべて発生します。
このときdnl
は何も出力せず、閉じカッコのあとに続く次の改行までの入力は、
それがどの行にあっても、改行を含めてやはり捨てられます。