(m4.info)Frozen file format


Prev: Using frozen files Up: Frozen files
Enter node , (file) or (file)node

15.2 Frozen file format
=======================

Frozen files are sharable across architectures.  It is safe to write a
frozen file on one machine and read it on another, given that the second
machine uses the same or newer version of GNU 'm4'.  It is conventional,
but not required, to give a frozen file the suffix of '.m4f'.

   These are simple (editable) text files, made up of directives, each
starting with a capital letter and ending with a newline (<NL>).
Wherever a directive is expected, the character '#' introduces a comment
line; empty lines are also ignored if they are not part of an embedded
string.  In the following descriptions, each LEN refers to the length of
the corresponding strings STR in the next line of input.  Numbers are
always expressed in decimal.  There are no escape characters.  The
directives are:

'C LEN1 , LEN2 <NL> STR1 STR2 <NL>'
     Uses STR1 and STR2 as the begin-comment and end-comment strings.
     If omitted, then '#' and <NL> are the comment delimiters.

'D NUMBER, LEN <NL> STR <NL>'
     Selects diversion NUMBER, making it current, then copy STR in the
     current diversion.  NUMBER may be a negative number for a
     non-existing diversion.  To merely specify an active selection, use
     this command with an empty STR.  With 0 as the diversion NUMBER,
     STR will be issued on standard output at reload time.  GNU 'm4'
     will not produce the 'D' directive with non-zero length for
     diversion 0, but this can be done with manual edits.  This
     directive may appear more than once for the same diversion, in
     which case the diversion is the concatenation of the various uses.
     If omitted, then diversion 0 is current.

'F LEN1 , LEN2 <NL> STR1 STR2 <NL>'
     Defines, through 'pushdef', a definition for STR1 expanding to the
     function whose builtin name is STR2.  If the builtin does not exist
     (for example, if the frozen file was produced by a copy of 'm4'
     compiled with changeword support, but the version of 'm4' reloading
     was compiled without it), the reload is silent, but any subsequent
     use of the definition of STR1 will result in a warning.  This
     directive may appear more than once for the same name, and its
     order, along with 'T', is important.  If omitted, you will have no
     access to any builtins.

'Q LEN1 , LEN2 <NL> STR1 STR2 <NL>'
     Uses STR1 and STR2 as the begin-quote and end-quote strings.  If
     omitted, then '`' and ''' are the quote delimiters.

'T LEN1 , LEN2 <NL> STR1 STR2 <NL>'
     Defines, though 'pushdef', a definition for STR1 expanding to the
     text given by STR2.  This directive may appear more than once for
     the same name, and its order, along with 'F', is important.

'V NUMBER <NL>'
     Confirms the format of the file.  'm4' 1.4.18 only creates and
     understands frozen files where NUMBER is 1.  This directive must be
     the first non-comment in the file, and may not appear more than
     once.


automatically generated by info2www version 1.2.2.9