DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(m4.info) Extensions

Info Catalog (m4.info) Compatibility (m4.info) Compatibility (m4.info) Incompatibilities
 
 Extensions in GNU `m4'
 ======================
 
    This version of `m4' contains a few facilities, that do not exist in
 System V `m4'.  These extra facilities are all suppressed by using the
 `-G' command line option, unless overridden by other command line
 options.
 
    * In the `$'N notation for macro arguments, N can contain several
      digits, while the System V `m4' only accepts one digit.  This
      allows macros in GNU `m4' to take any number of arguments, and not
      only nine ( Arguments.).
 
    * Files included with `include' and `sinclude' are sought in a user
      specified search path, if they are not found in the working
      directory.  The search path is specified by the `-I' option and the
      `M4PATH' environment variable ( Search Path.).
 
    * Arguments to `undivert' can be non-numeric, in which case the named
      file will be included uninterpreted in the output (
      Undivert.).
 
    * Formatted output is supported through the `format' builtin, which
      is modeled after the C library function `printf' ( Format.).
 
    * Searches and text substitution through regular expressions are
      supported by the `regexp' ( Regexp.) and `patsubst' (
      Patsubst.) builtins.
 
    * The output of shell commands can be read into `m4' with `esyscmd'
      ( Esyscmd.).
 
    * There is indirect access to any builtin macro with `builtin'
      ( Builtin.).
 
    * Macros can be called indirectly through `indir' ( Indir.).
 
    * The name of the current input file and the current input line
      number are accessible through the builtins `__file__' and
      `__line__' ( Errprint.).
 
    * The format of the output from `dumpdef' and macro tracing can be
      controlled with `debugmode' ( Debug Levels.).
 
    * The destination of trace and debug output can be controlled with
      `debugfile' ( Debug Output.).
 
    In addition to the above extensions, GNU `m4' implements the
 following command line options: `-F', `-G', `-I', `-L', `-R', `-V',
 `-W', `-d', `-l', `-o' and `-t'.   Invoking m4, for a
 description of these options.
 
    Also, the debugging and tracing facilities in GNU `m4' are much more
 extensive than in most other versions of `m4'.
 
Info Catalog (m4.info) Compatibility (m4.info) Compatibility (m4.info) Incompatibilities
automatically generated byinfo2html