[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [groff] mom manpage

From: Ingo Schwarze
Subject: Re: [groff] mom manpage
Date: Sat, 1 Dec 2018 13:07:13 +0100
User-agent: Mutt/1.8.0 (2017-02-23)

Hi John,

John Gardner wrote on Sat, Dec 01, 2018 at 05:36:25PM +1100:
> Ingo Schwarze wrote:

>> Even moderately large systems can be beautifully documented in a
>> single manual page - for example, a shell

> It's amazing how true this is. Even with massive man-pages, it's still
> easier to find what I'm looking for in less(1) by hitting the `/` key and
> typing a search string.

Even better - on OpenBSD-current, i simply type

   $ man -O tag=wait ksh

and less(1) starts up like this:

   wait [job ...]
      Wait for the specified job(s) to finish.  The exit status of wait
      is that of the last specified job; if the last job is killed by a

then type ":tset" ENTER

   * set exit status.  In POSIX mode, the exit status of set is 0 if there
     are no errors; in non-POSIX mode, the exit status is that of any

then hit just "t"

   set [+-abCefhkmnpsuvXx] [+-o option] [+-A name] [--] [arg ...]
      The set command can be used to set (-) or clear (+) shell
      options, set the positional parameters, or set an array

Try that kind of hyperlinking with "/".

Just like
only at the console.  And no, it does *not* require the author to
say "i want an anchor here" in any special syntax.  It just works
from the normal manual page markup, without doing anything special.

> It's quite literally faster than the time it takes to load
> web-based documentation (especially on my crappy connection...)

Except when using groff, of course:

  address@hidden $ uname -a
    OpenBSD 6.4 GENERIC.MP#341 amd64
  address@hidden $ sysctl hw.model
    hw.model=Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz
  address@hidden $ time man ksh | wc   
    2960   20284  165761
    0m00.06s real     0m00.06s user     0m00.01s system

  address@hidden [unstable11s]:~ > uname -a
    SunOS unstable11s 5.11 11.3 sun4u sparc SUNW,SPARC-Enterprise
  address@hidden [unstable11s]:~ > psrinfo -pv | tail -1
    SPARC64-VII (portid 1024 impl 0x7 ver 0x91 clock 2520 MHz)
  address@hidden [unstable11s]:~ > time man ksh | wc
    Reformatting page.  Please Wait... done
    3180   26718  227245
    real    0m0.549s
    user    0m0.952s
    sys     0m0.058s

And the comparison is not even fair: the OpenBSD page is mdoc(7),
while Solaris 11 has David Korn's old man(7) page from 1993, and
man(7) in general parses much faster than mdoc(7).

But that's OK.  Groff is a professional typesetting system, so
blaming it for being slow as a manual page formatter is not
reasonable, it just isn't what it is made for.


  address@hidden $ time lynx --dump | wc 
    5172   21523  165576
    0m10.02s real     0m00.03s user     0m00.01s system

reply via email to

[Prev in Thread] Current Thread [Next in Thread]