[Top][All Lists]

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

Re: roff(7)

From: Douglas McIlroy
Subject: Re: roff(7)
Date: Fri, 31 Dec 2021 16:50:59 -0500


Sorry for unintentionally sending an incomplete message.

I'm glad to learn you had anticipated my complaint and fixed it. And
that's just the tip of the iceberg. Thank you for your Herculean
efforts to maintain groff.


On Fri, Dec 31, 2021 at 8:06 AM G. Branden Robinson
<> wrote:
> Hi, Doug!
> At 2021-12-30T21:18:04-0500, Douglas McIlroy wrote:
> > The man page roff(7) incorrectly attributes roff to Joe Ossanna.
> I agree, that's true of the roff(7) man page in groff 1.22.4 (and some
> number of releases before that I haven't taken the trouble to count).
> > Ossanna wrote nroff and troff, but roff preceded that work. The name
> > roff was first used to distinguish a rewrite for Multics from the
> > original runoff, probably because both were maintained on CTSS.  I
> > wrote an extended roff in BCPL for GECOS and kept the Multics name.
> > Ken and/or Dennis rewrote the BCPL program in assembly language for
> > Unix. There never was a pure runoff for Unix.
> Thanks, Doug!  I _think_ all of your statements here are consistent with
> what I've had in the roff(7) page since commit f28c837d2c on 5 September
> 2020.
> Here are the current paragraphs of the page relating to *roffs and early
> Unix history.
>    Unix and roff
>        By 1971, McIlroy’s runoff had been rewritten in DEC PDP-11
>        assembly language by Dennis Ritchie for the fledgling Unix
>        operating system and seen its name shortened to roff (perhaps
>        under the influence of Ken Thompson), but had added support for
>        automatic hyphenation with .hc and .hy requests; a generalization
>        of line spacing control with the .ls request; and what later
>        roffs would call diversions, with “footnote” requests.  This roff
>        indirectly funded operating systems research at Murray Hill, for
>        it was used to prepare patent applications for AT&T to the U.S.
>        government.  This arrangement enabled the group to acquire the
>        aforementioned PDP-11; roff promptly proved equal to the task of
>        typesetting the first edition of the manual for what would later
>        become known as “v1 Unix”, dated November 1971.
>        Output from all of the foregoing programs was limited to line
>        printers and paper terminals such the IBM 2471 (based on the
>        Selectric line of typewriters) and the Teletype Corporation Model
>        37.  Proportionally-spaced type was unknown.
>    New roff and Typesetter roff
>        The first years of Unix were spent in rapid evolution.  The
>        practicalities of preparing standardized documents like patent
>        applications (and Unix manual pages), combined with McIlroy’s
>        enthusiasm for macro languages, perhaps created an irresistible
>        pressure to make roff extensible.  Joe Ossanna’s nroff, literally
>        a “new roff”, was the outlet for this pressure.  By the time of
>        Version 3 Unix (February 1973)—and still in PDP-11 assembly
>        language—it sported a swath of features now considered essential
>        to roff systems; definition of macros (.de), diversion of text
>        thence (.di), and removal thereof (.rm); trap planting (.wh;
>        “when”) and relocation (.ch; “change”); conditional processing
>        (.if); and environments (.ev).
> I welcome your corrections of this material and anything else in the
> page.  If groff Git it troublesome for you to get to, Michael Kerrisk's
> Linux man-pages project web page takes snapshots of groff when he does
> releases of the man-pages package proper.  For this page, little has
> changed since his last snapshot, and nothing substantive about the
> history.
> Two things I should admit to in frankness...
> 1.  Kerrisk's snapshot of our pages has some partial ECMA-48 escapes
>     leaking into the text due to the grotty-output scraping he does to
>     obtain HTML.  I guess if grohtml worked better, he wouldn't have had
>     to do that.  My recent changes to support bold italics in
>     (sub)section headings have surprised his tool.
> 2.  It sure would be nice to release groff 1.23.0.  We haven't heard
>     from Bertrand in a long time so I guess I'll have to volunteer as
>     the release guy--for one cycle anyway.  People might have noticed me
>     taking baby steps toward this by learning more about GNU Autotools,
>     resolving some issues with portability to non-GNU/Linux systems, and
>     starting a release checklist document in the tree.
> Happy New Year!
> Regards,
> Branden

reply via email to

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