Strictly speaking, the third argument of the man(7) .TH macro is supposed
to be the date when a human being last edited the content of the manual
page, or in case rst2man(1) is used, the date when a human being last
edited the content of the input '*.rst' file, *not* the date when
rst2man(1) did the format conversion.

That said, i am able to reproduce that the rst2man(1) program contained
in the py3-docutils-0.17.1 package on OpenBSD-current also puts the line
"Generated on: 2022\-08\-02." into the NAME section, which is indeed a
severe man(7) syntax error.  So the bug appears to be operating system
independent.

If the date of the last human edit is unknown, putting the date on
which rst2man(1) was run into the third argument of the .TH macro
is of course still better than putting it into a place where it
violates the syntax of the man(7) language.  On the other hand,
couldn't the correct time be found by inspecting the mtime of
the inode of the '*.rst' file?

Finally, "Generated on: 2022\-08\-02" also contains a typographic
error:  \- is a minus sign, and you are not doing any subtraction
here.  The character you want is a dash, so

  Generated on: 2022\(en08\(en02

would be correct typography if you want to put it somewhere in the
body of the manual page.  In the .TH macro, by contrast, the correct
format for the third argument would be "2022-08-02" with no
escaping, neither "2022\-08\-02" nor "2022\(en08\(en02".

Reply via email to