Dialing up groff 1.23.0 man(7)'s "CHECKSTYLE" warning feature provoked the following diagnostic.
an.tmac:doc/bash.1:8043: style: 1 leading space(s) on input line Leading spaces are warned about because they cause the line to break, which is often a surprise to man page authors when text is filled. Here, it doesn't matter because this is a paragraph tag and a break has just happened anyway. The reason this is termed a leading space nevertheless when there appears to be stuff preceding it on the line demands explanation, and offers an illustrative example of why macro package features should be preferred over formatter ones where possible. groff's Texinfo manual explains: '\f' is not tokenized when GNU 'troff' reads its input; it instead updates the environment. On historical troffs, the tokenization of whatever is at the beginning of an input line is coupled with the bit of parser state that decides whether it is "at the beginning of the line". Therefore, on these troffs, the formatter thinks it is still at the beginning of the input line after it processes any number of `\f` escape sequences there (along with `\s`, `\H`, `\S`, and groff's `\F`, `\m`, `\M`, and `\R`).[1] This isn't troff's greatest hit, which is why GNU troff doesn't couple these. But it must be kept in mind for AT&T-compatible troffs. (GNU troff's "compatibility mode" respects this quirk, so it applies to groff installations on Solaris 10/11, where the formatter is configured to operate in compatibility mode by default.) Here's the rendered result fix, with diff annotation: - . filename [arguments] + . filename [arguments] source filename [arguments] [1] Now that I've enumerated these, forget you ever saw them for the purpose of man page composition; they are either not portable or do nothing on a terminal anyway. Try to forget `\f`, too. ;-) --- doc/bash.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/bash.1 b/doc/bash.1 index ec1f8ce1..61e9b758 100644 --- a/doc/bash.1 +++ b/doc/bash.1 @@ -8049,7 +8049,7 @@ .SH "SHELL BUILTIN COMMANDS" redirections. The return status is zero. .TP -\fB .\| \fP \fIfilename\fP [\fIarguments\fP] +\fB\&.\| \fP \fIfilename\fP [\fIarguments\fP] .PD 0 .TP \fBsource\fP \fIfilename\fP [\fIarguments\fP] -- 2.30.2
signature.asc
Description: PGP signature