M4sugar提供の目的は,怪しげはパターン,つまり出力に現れるべきではないトー クンを記述しているパターンを定義するためです.例えば,Autoconf configureスクリプトに`AC_DEFINE'や`dnl'のようなトークン が含められている場合,おそらく何か問題が発生するでしょう(通常は,余分な 引用符のためにマクロが評価されていないためです).
M4sugarは,`^m4_'と`^dnl$'に一致する全てのトークンを禁止します.
出力で見つかる必要のあるpatternにマッチするトークンを宣言しません. コメントは調査されません.これは,例えば,`#include'より後に展開さ れないまま残っているマクロがある場合に問題になるはずです.現在,Autoconf コミュニティでは合意がとおらず,コメント内で指名されているマクロを有効に すべきだと考えている人もいるからです(`#'のコメントは出力を説明する べきで,`dnl'コメントのように入力を説明するのではないため,このドキュ メントの著者には意味がありません).
もちろん,これらの一般的な規則の例外に遭遇する可能性もあり,例えば, `$m4_flags'を参照する必要があるかもしれません.