Werner LEMBERG: > Mhmm. I don't think so. Compare this to gcc's -W > switches which are off by default too. I don't > see an immediate need to change a behaviour which > has been unmodified for more than 20 years.
But there is a difference compared to gcc. Missing (undefined) macros are considered by groff not as errors but as problems that may or may not, depend- ing on the settings, be reported as warnings, but that in no way cause a "compilation error", which makes groff (with default settings) chew and swallow almost any input without a mumbling word. The question is, how to distinguish between a warn- ing and an error. As I understand, every problem that denies futher processing is considered an error, and everything else goes as warnings. This approach is useful for it would not interrupt pro- cessing at the first problem and, by means of warn- ing messages, let the user know about all the prob- lems in the source in one pass. But why would one want all warnings disabled I cannot imagine. Therefore, an undefined macro is not an error from groff's viewpoint, because the corresponding input line can be omitted, but it is an error from the user's viewpoint, because the result is a digression from what is intended. All macro packages that I have tried do enable warn- ings if they are not explicitly enabled from the command line. Chris Velevitch, the original poster, seems to have not included a macro package and all his calls to package-specific macros were silently ignored. Anton P.S.: Thought I'd just let you know my viewpoint.