Subject: bin/35460: man(1) and catman(1) don't honour '\" first line comment
To: None <gnats-admin@netbsd.org, netbsd-bugs@netbsd.org>
From: None <uwe@NetBSD.org>
List: netbsd-bugs
Date: 01/21/2007 19:20:00
>Number:         35460
>Category:       bin
>Synopsis:       man(1) and catman(1) don't honour '\" first line comment
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jan 21 19:20:00 +0000 2007
>Originator:     Valery Ushakov
>Release:        current
>Organization:
>Environment:
NetBSD bigmac 4.99.1 NetBSD 4.99.1 (BIGMAC) #2: Sat Sep 16 03:57:52 MSD 2006  uwe@bigmac:/export/netbsd/cvs/src/sys/arch/macppc/compile/BIGMAC macppc
>Description:
It is a traditional practice to specify required preprocessors in
the first line comment of the manual page.  Groff info has this to say:

4.1.6 Preprocessors in `man' pages
----------------------------------

If a preprocessor like `gtbl' or `geqn' is needed, it has become common
usage to make the first line of the man page look like this:


     '\" WORD

Note the single space character after the double quote.  WORD consists
of letters for the needed preprocessors: `e' for `geqn', `r' for
`grefer', `t' for `gtbl'.  Modern implementations of the `man' program
read this first line and automatically call the right preprocessor(s).


Our man(1) and catman(1) don't honour this comment.

For system man pages this is hidden by the fact that we ship cat pages
and when pre-formmatting cat pages, we realy on the program Makefile
to specify USETBL= make variable.


>How-To-Repeat:
        $ mkdir -p /tmp/man/man1
        $ cp /usr/share/man/man1/ksh.1 /tmp/man/man1
        $ MANPATH=/tmp/man man ksh | less +/'Compound commands'

and compare with

        $ man ksh | less +/'Compound commands'

You can also see this with system x11 pages, e.g.:

        $ man XCreateWindow | less +/'Window attribute value'

b/c makefile doesn't suuply USETBL= and so preformatted cat page
is not preprocessed correctly.

>Fix: