autoconf: Forbidden Patterns

1 
1 8.3.10 Forbidden Patterns
1 -------------------------
1 
1 M4sugar provides a means to define suspicious patterns, patterns
1 describing tokens which should not be found in the output.  For
1 instance, if an Autoconf `configure' script includes tokens such as
1 `AC_DEFINE', or `dnl', then most probably something went wrong
1 (typically a macro was not evaluated because of overquotation).
1 
1    M4sugar forbids all the tokens matching `^_?m4_' and `^dnl$'.
1 Additional layers, such as M4sh and Autoconf, add additional forbidden
1 patterns to the list.
1 
1  -- Macro: m4_pattern_forbid (PATTERN)
1      Declare that no token matching PATTERN must be found in the output.
1      Comments are not checked; this can be a problem if, for instance,
1      you have some macro left unexpanded after an `#include'.  No
1      consensus is currently found in the Autoconf community, as some
1      people consider it should be valid to name macros in comments
1      (which doesn't make sense to the authors of this documentation:
1      input, such as macros, should be documented by `dnl' comments;
1      reserving `#'-comments to document the output).
1 
1    Of course, you might encounter exceptions to these generic rules, for
1 instance you might have to refer to `$m4_flags'.
1 
1  -- Macro: m4_pattern_allow (PATTERN)
1      Any token matching PATTERN is allowed, including if it matches an
1      `m4_pattern_forbid' pattern.
1