The Answer to All Man's Problems (part 0 of 6)
Tom Christiansen
tchrist at convex.com
Tue Jan 8 09:09:02 AEST 1991
Here is a deluxe man program and associated utilities written in perl.
It does everything any other man program does that I've ever seen,
plus quite a bit more. There is documentation in the form of man
pages as well as the paper I presented at the USENIX Large
Installation Systems Administrations conference.
There will be six parts to the distribution. Cat them together
and then unshar. Here is a list of features. Note that the
whatis databases are stored in ndbm format for rapid access, so
you'll need ndbm.
Changes since the last posting include:
* extra utils
* grep feature
* online problem report feature
* dynamic determination of MANPATH
* bug fixes
Thanks to everyone who's sent me bug reports or fixes.
--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
--
Tom Christiansen tchrist at convex.com convex!tchrist
Perl programming is an *empirical* science!
--Larry Wall in <10226 at jpl-devvax.JPL.NASA.GOV>
More information about the Alt.sources
mailing list