m4: Command line files

1 
1 2.6 Specifying input files on the command line
1 ==============================================
1 
1 The remaining arguments on the command line are taken to be input file
1 names.  If no names are present, standard input is read.  A file name of
1 '-' is taken to mean standard input.  It is conventional, but not
1 required, for input files to end in '.m4'.
1 
1    The input files are read in the sequence given.  Standard input can
1 be read more than once, so the file name '-' may appear multiple times
1 on the command line; this makes a difference when input is from a
1 terminal or other special file type.  It is an error if an input file
1 ends in the middle of argument collection, a comment, or a quoted
1 string.
1 
1    The options '--define' ('-D'), '--undefine' ('-U'), '--synclines'
1 ('-s'), and '--trace' ('-t') only take effect after processing input
1 from any file names that occur earlier on the command line.  For
1 example, assume the file 'foo' contains:
1 
1      $ cat foo
1      bar
1 
1    The text 'bar' can then be redefined over multiple uses of 'foo':
1 
1      $ m4 -Dbar=hello foo -Dbar=world foo
1      =>hello
1      =>world
1 
1    If none of the input files invoked 'm4exit' (⇒M4exit), the
1 exit status of 'm4' will be 0 for success, 1 for general failure (such
1 as problems with reading an input file), and 63 for version mismatch
1 (⇒Using frozen files).
1 
1    If you need to read a file whose name starts with a '-', you can
1 specify it as './-file', or use '--' to mark the end of options.
1