Next: Trace Up: Debugging
7.1 Displaying macro definitions
If you want to see what a name expands into, you can use the builtin
-- Builtin: dumpdef ([NAMES...])
Accepts any number of arguments. If called without any arguments,
it displays the definitions of all known names, otherwise it
displays the definitions of the NAMES given. The output is
printed to the current debug file (usually standard error), and is
sorted by name. If an unknown name is encountered, a warning is
The expansion of `dumpdef' is void.
$ m4 -d
define(`foo', `Hello world.')
error-->foo: `Hello world.'
The last example shows how builtin macros definitions are displayed.
The definition that is dumped corresponds to what would occur if the
macro were to be called at that point, even if other definitions are
still live due to redefining a macro during argument collection.
$ m4 -d
pushdef(`f', ``$0'1')pushdef(`f', ``$0'2')
error-->m4:stdin:3: undefined macro `f'
Note: Debug Levels, for information on controlling the details of
automatically generated by info2www