MIT X11R4 man pages glitches?

Tom Christiansen tchrist at convex.COM
Wed Apr 24 11:09:46 AEST 1991


> After installing the man pages of MIT-supplied X11R4 (including patches 1-18),
> I have noticed some problems with Xlib and Xt man pages.

> 1. The Xlib man pages are installed as <something>.3X. Doing 'man <something>'
>    or 'man 3 <something>' will fail. Doing 'man 3X <something>' will work, but
>    IMHO it's a little convoluted...

>    Xt man pages are installed as <something>.3Xt which will NEVER work,
>    since 'man' treats its first argument as a section number ONLY if it 1-
>    or 2-character long. Thus 'man 3Xt foo' will say 'no manual entry for 3Xt'.

>    I solved these kinks by renaming all pages to <something>.3.

> 2. The man pages do not contain 
>       '\" et
>    as their first line, thus 'man' command does not know that it has to use
>    'tbl' and 'eqn' before [t/n]roff-ing the file. (this what 'man man' says).

>    I solved this by prepending each file with the above line.

> 3. Most man pages files contain descriptions of more than one routine or macro (example:
>    AllPlanes.3X). After creating the 'whatis' database, doing 'apropos BlackPixel'
>    will show it, together with AllPlanes, but 'man BlackPixel' will fail.

>    I solved this by writing a script that will create BlackPixel.3 (and all the other
>    routines/macros described in a man page). All of them contain just one line:
>       .so man3/AllPlanes.3   (or whatever)

All the above problems are taken care of by my perl rewrite of the man
program.  You can get the package via anon ftp from convex.com in
/pub/man.shar.Z, or I can mail it to you.  Here is the FEATURES file:

--tom

Features include but are not limited to:

    *   almost always faster than standard man (try 'man me')

    *	take much less diskspace for catpages

    *	supports per-tree tmac macros
    
    *	compressed man and cat files

    *	user-definable man path via $MANPATH or -M optoin
    
    *  $MANPATH autoconfigged based on $PATH if not set

    *   user-definable section search order via -S or $MANSECT.  Thus
	programmers can get stty(3) before stty(1).
    
    *	$PAGER support

    *	show all the places you would find a man page (-w option)
	and in what order.

    *   display all available man page on a topic (-a option)
    
    *   no limits on what subsections go where (if you want to add 7x, ok)

    *   support for multi-char sections like man1m/*.1m or manavs/*.avs

    *   man -K for regexp apropos

    *   grep through all the man pages in $MANPATH

    *   section and subsection indexing for long man pages

    *   support for alternate architectures docs on same machine

    *	ability to run man on a local file 

    *	ability to easily troff (or preview) a man page

    *	recognizes embedded filter directives for tbl and eqn

    *	does the right thing for man tree that don't have DBM whatis files

    *   support for connecting online problem reports to right man page
   
    *   there's an extended usage message (man -U) for further help
	and to show current defaults.


Here are some features of this version of makewhatis:

    *	it's faster.

    *	tries hard to make pretty output, stripping troff directives.

    *   doesn't blow up on more files in a man directory 
	than the shell will glob.  

    *   accepts troff string macros for the dashes in the
	the NAME section.

    *   prints a diagnostic for a malformed NAME section.

    *   detects linked (hard, soft, or via .so) man pages

    *   finds *all* references in the NAME section.

    *   recognizes MH's man macros (and .Sh from lwall).

    *   many other things that makewhatis used to do wrong

Here are some supporting utilities that are included:

    *   catman -- new version that groks compressed files

    *   catwhatis -- display the whatis databases

    * 	straycats -- find cat pages with no man page ancestor

    *   countman -- find how many man pages you can get at

    *   cfman -- find bad SEE ALSO references in man pages



More information about the Comp.unix.questions mailing list