Last week I've reported a bug in ifconfig(8) (as of net-tools 1.60-17.) The problem is in that the ifconfig.8 contains the following:
--cut-- .B ifconfig eth0:0 down . Note: for every scope (i.e. same net with address/netmask combination) all aliases are deleted, if you delete the first (primary). --cut-- This is (I guess) intended to be rendered by Groff as: ``ifconfig ... in the bold face, then period (.), then Note:, ...'' However, it renders just as if there were no ``. Note: ...'' line at all. I guess, it happens because Groff interprets ``. Note:'' (or ``. Note''?) as a ``command'', and since it knows no definition for it, it ignores the entire line. The problem is that ifconfig.8 isn't the only file with such a misfeature! $ bash check-man-periods.sh /usr/share/man/man1/*.gz /usr/share/man/man1/gpg.1.gz:. This is only used when \fB--use-agent\fR has /usr/share/man/man1/ocamldoc.1.gz:. The file /usr/share/man/man1/rpost.1.gz:. If this form is used, any port number specified via the -N option /usr/share/man/man1/sfxtest.1.gz:. Higher values of mode are more verbose. ... /usr/share/man/man1/v.surf.rst.1grass.gz:. User can choose to output vector files \fItreefile\fR and \fIoverfile\fR ... $ (Look below for check-man-periods.sh.) What I'm expected to do, then? (With respect to Debian BTS.) I believe, start filing multiple bug reports would be a bad idea (for me now.) May I suggest an explicit warning to be generated by Groff on unknown ``command'', so that lintian(1) will issue a warning on a malformed manual page, too? (Or a ``strict check'' mode for Groff, to be used especially by lintian and alike?) And, out of curiosity, was the ``. Note:'' (and similar) ever rendered by Groff, and if it is, when the behaviour was changed? #!/bin/bash ### check-man-periods.sh --- Check man pages for ``period bugs'' -*- Sh -*- examine_1 () { local f="$1" local s='\([[:blank:]].*\)\?$' ## a rough approximation... ## FIXME: nor commas, nor backslashes are allowed in $1 sed -e '/^[.][[:blank:]]/!d' \ -e '/^[.][[:blank:]]\+[.[:digit:][]/d' \ -e '/^[.][[:blank:]]\+\(B[IR]\?\|[IP]P\|SM\|\\["}]\)'"$s"'/d' \ -e '/^[.][[:blank:]]\+\(ad\|br\|de\|ds\|el\|fi\)'"$s"'/d' \ -e '/^[.][[:blank:]]\+\(ftr\?\|hy\|ie\|if\|in\|mso\|\)'"$s"'/d' \ -e '/^[.][[:blank:]]\+\(n[efhrs]\|nop\|r[mr]\|t[im]\)'"$s"'/d' \ -e '/^[.][[:blank:]]\+\(warn\|while\)'"$s"'/d' \ -e "s,^,$f:," } for f in "$@"; do case "$f" in (*.gz) zcat "$f" | examine_1 "$f" ;; (*) < "$f" examine_1 "$f" ;; esac done ### check-man-periods.sh ends here -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]