DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(m4.info.gz) Debug Levels

Info Catalog (m4.info.gz) Trace (m4.info.gz) Debugging (m4.info.gz) Debug Output
 
 6.3 Controlling debugging output
 ================================
 
 The `-d' option to `m4' ( Invoking m4) controls the amount of
 details presented, when using the macros described in the preceding
 sections.
 
    The FLAGS following the option can be one or more of the following:
 
 `a'
      Show the actual arguments in each macro call.  This applies to all
      macro calls if the `t' flag is used, otherwise only the macros
      covered by calls of `traceon'.
 
 `c'
      Show several trace lines for each macro call.  A line is shown
      when the macro is seen, but before the arguments are collected; a
      second line when the arguments have been collected and a third
      line after the call has completed.
 
 `e'
      Show the expansion of each macro call, if it is not void.  This
      applies to all macro calls if the `t' flag is used, otherwise only
      the macros covered by calls of `traceon'.
 
 `f'
      Show the name of the current input file in each trace output line.
 
 `i'
      Print a message each time the current input file is changed,
      giving file name and input line number.
 
 `l'
      Show the current input line number in each trace output line.
 
 `p'
      Print a message when a named file is found through the path search
      mechanism ( Search Path), giving the actual file name used.
 
 `q'
      Quote actual arguments and macro expansions in the display with the
      current quotes.
 
 `t'
      Trace all macro calls made in this invocation of `m4'.
 
 `x'
      Add a unique `macro call id' to each line of the trace output.
      This is useful in connection with the `c' flag above.
 
 `V'
      A shorthand for all of the above flags.
 
    If no flags are specified with the `-d' option, the default is
 `aeq'.  The examples throughout this manual assume the default flags.
 
    There is a builtin macro `debugmode', which allows on-the-fly
 control of the debugging output format:
 
  -- Builtin: debugmode ([FLAGS])
      The argument FLAGS should be a subset of the letters listed above.
      As special cases, if the argument starts with a `+', the flags are
      added to the current debug flags, and if it starts with a `-', they
      are removed.  If no argument is present, all debugging flags are
      cleared (as if no `-d' was given), and with an empty argument the
      flags are reset to the default of `aeq'.
 
      The expansion of `debugmode' is void.
 
      define(`foo', `FOO')
      =>
      traceon(`foo')
      =>
      debugmode()
      =>
      foo
      error-->m4trace: -1- foo -> `FOO'
      =>FOO
      debugmode
      =>
      foo
      error-->m4trace: -1- foo
      =>FOO
      debugmode(`+l')
      =>
      foo
      error-->m4trace:8: -1- foo
      =>FOO
 
Info Catalog (m4.info.gz) Trace (m4.info.gz) Debugging (m4.info.gz) Debug Output
automatically generated byinfo2html