The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
To: segaloco <segaloco@protonmail.com>
Cc: The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: [TUHS] Re: Trying to date "A Supplemental Document For Awk"
Date: Thu, 29 Jun 2023 09:02:23 -0500	[thread overview]
Message-ID: <20230629140223.gg4mgvsd7aigbj4e@illithid> (raw)
In-Reply-To: <PvNODLfIjHFhDm9v5quj86w8VG5VgBts6bbtOZHCCBJZ2YtA2JDTVo3HeDDrqMsJqSx0a742ByOSiZOFAgAJLGO0TqJRp_Kef_axQAa7teQ=@protonmail.com>

[-- Attachment #1: Type: text/plain, Size: 3759 bytes --]

At 2023-06-29T06:27:44+0000, segaloco via TUHS wrote:
> Man of course finds use in the manual pages (although there are
> different representations of manpages in nroff over time.)

Setting aside the well known bifurcation between man(7) and mdoc(7),
which manage to stay out of each other's way in the macro name space,
I'm not aware of any comparative survey of different man(7)
implementations.  Ultrix at some point--I have no insight into the
chronology of it--had a large set of extensions that remains quietly
documented and supported by groff to this day, albeit off in a corner
where it seems to receive little attention.  (Just as well, in my
opinion, as not all of its innovations are worthy of embrace.)

As far as other vendor extensions and developments go, I have collected
all of the information known to me into the groff_man(7) page in the
any-minute-now groff 1.23.0 release.  Here are the relevant sections.
(There are two because concept and implementation are distinguishable.)

  History
    M. Douglas McIlroy designed, implemented, and documented the AT&T
    man macros for Unix Version 7 (1979) and employed them to edit the
    first volume of its Programmer's Manual, a compilation of all man
    pages supplied by the system.  That man supported the macros listed
    in this page not described as extensions, except .P and the
    deprecated .AT and .UC.  The only strings defined were R and S; no
    registers were documented.

    .UC appeared in 3BSD (1980).  Unix System III (1980) introduced .P
    and exposed the registers IN and LL, which had been internal to
    Seventh Edition Unix man.  PWB/UNIX 2.0 (1980) added the Tm string.
    4BSD (1980) added lq and rq strings.  SunOS 2.0 (1985) recognized C,
    D, P, and X registers.  4.3BSD (1986) added .AT and .P.  Ninth
    Edition Research Unix (1986) introduced .EX and .EE.  SunOS 4.0
    (1988) added .SB.

    The foregoing features were what James Clark implemented in early
    versions of groff.  Later, groff 1.20 (2009) originated .SY/.YS,
    .TQ, .MT/.ME, and .UR/.UE.  Plan 9 from User Space's troff
    introduced .MR in 2020.

Authors
    The initial GNU implementation of the man macro package was written
    by James Clark.  Later, Werner Lemberg supplied the S, LT, and cR
    registers, the last a 4.3BSD-Reno mdoc(7) feature.  Larry Kollar
    added the FT, HY, and SN registers; the HF string; and the PT and BT
    macros.  G. Branden Robinson implemented the AD and MF strings; CS,
    CT, and U registers; and the MR macro.  Except for .SB, the
    extension macros were written by Lemberg, Eric S. Raymond, and
    Robinson.

    This document was originally written for the Debian GNU/Linux system
    by Susan G. Kleinmann.  It was corrected and updated by Lemberg and
    Robinson.  The extension macros were documented by Raymond and
    Robinson.

I welcome any further insights people can offer.  This man page isn't
the best place to document extensions that withered on the vine (like
Eighth/Ninth Edition Research Unix's addition of multi-column macros for
man(7)), but I wouldn't mind collecting such things into some sort of
auxiliary article.

While the mandoc(1)/mdocml project's "History of UNIX Manpages"[1] is an
invaluable resource, it doesn't really do what's written on the tin, and
serves more as a history of (some) *roff _formatters_--not of the man(7)
language.  I assume that this stance is in part due to the unease
bordering on antipathy that mandoc(1) proponents have for the man(7)
macro package.  In their view, everybody should be writing mdoc(7).
Unfortunately this lacuna has left useful historical information about
the man(7) package uncollected.

Regards,
Branden

[1] https://manpages.bsd.lv/history.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2023-06-29 14:02 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-28  6:26 [TUHS] " Aharon Robbins
2023-06-28  6:45 ` [TUHS] " arnold
2023-06-28 17:48 ` Adam Sampson
2023-06-28 18:03   ` KenUnix
2023-06-28 18:38     ` Clem Cole
2023-06-28 23:47       ` Greg 'groggy' Lehey
2023-06-29  1:59         ` Stuff Received
2023-06-29  6:27           ` segaloco via TUHS
2023-06-29  6:41             ` Andrew Hume
2023-06-29  6:45               ` Noel Hunt
2023-06-29  6:48                 ` Andrew Hume
2023-06-29  6:50                   ` arnold
2023-06-29  6:44             ` Noel Hunt
2023-06-29 14:02             ` G. Branden Robinson [this message]
2023-06-29 13:45           ` G. Branden Robinson
2023-06-29 13:34         ` G. Branden Robinson
2023-06-29 13:47           ` Rich Salz
2023-06-29 19:03             ` Steffen Nurpmeso
2023-06-29  1:04     ` Bakul Shah
2023-06-29  0:26 ` Jeremy C. Reed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230629140223.gg4mgvsd7aigbj4e@illithid \
    --to=g.branden.robinson@gmail.com \
    --cc=segaloco@protonmail.com \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).