Thanks Branden and Bjarni for your advice. I recognise many of the errors being corrected here as having been perpetrated by me, unfortunately. Happily, many GNU tools have a kind of linting mechanism built into the maintainer workflows. We normally describe them as "syntax checks", though they aren't only that. At the moment, there are syntax checks for things like:
- mixing tabs and spaces incorrectly - various problematic things in Makefiles - out-of-date copyright statements - use of library functions with problematic semantics (e.g. atoi) - stylistically confusing calls to error() - failure to #include config.h Some of the *roff antipatterns mentioned in this thread are, I think, areas where backsliding (by me, for example) is a risk. Is there a way to automate some subset of these checks on a system where groff is already installed (and there is no access to the groff source tree)? If yes, then (for example) where we find that *roff is actually groff, then we could perform some of these checks as part of the maintainers' workflow. TL;DR: thanks for improving our code, can we automate some of this? Thanks, James.
