traceon does not work with a macro whose name is the empty string
This m4 script does not show the trace for the macro whose name is the empty string: changequote([,]) define([],[Hello world]) traceon([]) indir([])
Bug in dumpdef's documentation
The output documented is not what you get from executing the m4 commands as documented. See https://www.gnu.org/software/m4/manual/m4.html#Dumpdef