Why not make it default to something that actually describes the
situation, e.g., ".error directive invoked in source file".
Conceptually, you could also make the message be required -- for .error
that just means you print a slightly different message if it's omitted
("missing .error parameter" for example), the practical difference is
whether .warning without a message would be an error or not. :-)
All valid points. Consider them merged with my suggestion, with:
An .error without a string should be compatible with ".err" and
just emit ".error directive invoked in source file". A .warning
should just warn, with the default message being...you guessed
it ".warning directive invoked in source file".