escaping bugs in real-world BSD manuals
- On the second
Fa line, the opening
double quote is missing. Consequently,
*padsize are treated as separate
arguments, and the output contains a comma between them. In addition to
that, the trailing double quote appears in the output.
- The ‘\\’ escape sequence must never be used;
‘\e’ is the correct escape sequence to print a backslash.
There is no need to escape single quote characters. Actually, the escaping
is even wrong, because the ‘\'’ escape sequence is supposed
to render as an acute accent, which may not be an ASCII character in all
output modes. Besides, the usual way to quote a single character is with
Fl macro should be used when talking
about a command line flag.
Consequently, the sentence should be marked up like this:
This renders as:
A line is a record separated from the subsequent record
by a newline (default) or NUL
.Pq Sq \e0
.Fl ( z
A line is a record separated from the subsequent
record by a newline (default) or NUL (‘\0’) character
- An apostroph at the beginning of a line makes the line a macro line. As no
such macro is defined, the whole line is lost.
The proper fix is to prepend a zero-width space to the line:
A non-zero macro argument makes rules anchored with
\&'^' active, while a zero argument makes '^' rules inactive.
- A blank character at the beginning of a line does make the line a text
line as desired, but it also forces a line break before the line, which is
not desired here.