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.'
     error-->define: <define>

   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-->f: ``$0'1'
     error-->m4:stdin:3: undefined macro `f'

   Note: Debug Levels, for information on controlling the details of
the display.

automatically generated by info2www