Ingo Schwarze <[email protected]> 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
