Can anyone explain why the first of these expressions works as expected while the second does not? What is the difference between "number one" and DisplayForm@"number one"?
Block[{$MessagePrePrint}, Message[f::event, DisplayForm@"number one"]]
Block[{$MessagePrePrint}, Message[f::event, "number one"]]
The error message is a clue:
I presume
$MessagePrePrintis low level, like$PreRead, and its output needs to be a valid box structure.