Copyright (C) 2000-2012 |
GNU Info (m4.info)Debug LevelsControlling debugging output ============================ The `-d' option to `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: `t' Trace all macro calls made in this invocation of `m4'. `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'. `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'. `q' Quote actual arguments and macro expansions in the display with the current quotes. `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. `x' Add a unique `macro call id' to each line of the trace output. This is useful in connection with the `c' flag above. `f' Show the name of the current input file in each trace output line. `l' Show the the current input line number in each trace output line. `p' Print a message when a named file is found through the path search mecanism (Note: Search Path), giving the actual filename used. `i' Print a message each time the current input file is changed, giving file name and input line number. `V' A shorthand for all of the above flags. If no flags are specified with the `-d' option, the default is `aeq'. The examples in the previous two sections assumed the default flags. There is a builtin macro `debugmode', which allows on-the-fly control of the debugging output format: debugmode(opt 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, the debugging flags are set to zero (as if no `-d' was given), and with an empty argument the flags are reset to the default. |