[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Groff] overview of man(1) and groff(1) command line options
From: |
Steffen Nurpmeso |
Subject: |
Re: [Groff] overview of man(1) and groff(1) command line options |
Date: |
Thu, 02 Feb 2017 22:44:29 +0100 |
User-agent: |
s-nail v14.9.0-pre3 |
Ingo Schwarze <address@hidden> wrote:
|i just assembled an overview of all the command line options of
|man(1), groff(1), and closely related utilities:
|
| http://mdocml.bsd.lv/man/man.options.1.html
| http://mdocml.bsd.lv/cgi-bin/cvsweb/man.options.1
Good sleuthing, it seems to me.
I felt the immediate desire to include it, but then again that
wouldn't really make sense. ^.^
|That may hopefully be useful for people who are forced to add a
|command line option to one of these tools or to a similar one in
|the future - of course, if you can avoid adding an option, please
|refrain from doing so, but sometimes that's just not possible.
|
|I figure that, if such a list had been available earlier, it would
|contain less clashes. I admit to being responsible for some of the
|clashes myself, but when i implemented those options years ago, i
|simply didn't find all the needed information.
|
|If you see any errors or omissions, you are welcome to point me to
|sources of information.
...
|P.S.
|One curiosity is that the oldest information i could find about
|groff comes from Kirk McKusick's Berkeley CSRG archive CDs, and not
|from the official groff git repository. The oldest BSD release i'm
|aware of that contained groff is 4.3BSD-Net/2 released on August
|20, 1991 (or maybe up to two months earlier, sources are contradictory).
|It contained groff-1.01, released on March 13, 1991, and the complete
|source code is available. The first groff release contained in git
|is groff-1.02, released June 2, 1991. I wasn't aware of that when
|Eric S. Raymond assembled the git repo, or of course i would have
|spoken up. Even now, i couldn't find sources of groff 0.4 (July
|14, 1990), 0.5 (August 21, 1990), 0.6 (October 22, 1990), 0.7
|(December 18, 1990), or 1.0 (January 6, 1991) either, or any
|information about anything that predates groff-0.4.
This is interesting. I have only the csrg.git of Jonathan Gray,
not the unix-history.git of Diomidis Spinellis (unfortunately),
and even though that csrg.git mentions groff quite often, it is
only because of necessary macro adjustments, no source code
around. I didn't know this.
|P.P.S.
|Maybe you want to rebase? ... Oh, just kidding. :)
Hmm. This shouldn't be that hard, the repo only has about two
dozen tags! I have made this terrible mistake with the mailer
i maintain, and now the timeline branch is practically "sealed"
with a hole from 1980 to 1996, thus requiring an additional or
replacing "history" branch later on. Better care next time would
be nice, and less follow-up work.
|P.P.S.
|The reason for doing this research right now is that i may be forced
|to add a completely new option to mandoc(1), but i'm still unsure
|about various details, i'm still pondering. The rough goal is to
|help a tool that does bulk conversions, but in a context where
|catman(8) is probably not ideal; again, it's not a good time to
|discuss the details of that yet, much is still unclear, i'm only
|mentioning it such that you can understand the motivation, if you
|wonder about it.
I am all in favour of those nice double-minus self-describing long
options, which can't be mistreated. I could donate a small long
option parser that should be just fine. (It is about 6KB .cc and
12KB .h; C++ plus but easy to convert to C. And that includes
a long-option validity checker, for development checks. From
2003, last touched 2005, at that time i was a pretty good
programmer i think.)
--steffen