Hey Branden,
Apologies for the duplicate message. I had a mailer issue this
evening where the message did not reach TUHS.
On Fri, 18 Oct 2024, G. Branden Robinson wrote:
I do observe that this web page credits the publisher
of the document as
"Western Digital Corporation". Shouldn't that be "Western Electric
Company"?
Yeah, Western Electric issued licenses and official printed
documentation externally for Research Unix in the 1970s.
I completely looked past that typo in the catalog amidst the
thrill of obtaining the document!
I've let an archivist at the CHM know of the correction. I found
in the course of researching that most other catalogs list the
documentation as a single serial item from 1971 onwards with
Thompson and/or Ritchie as authors, so finding any specific item
can be difficult.
The [nt]roff
user manual,
Noteworthy but frustrating here is that at this point, the forerunner of
CSTR #54 was still titled simply "NROFF Users' Manual" (PDF pp. 173ff.).
References to troff are present, but the typesetting program is not
fully documented. Frustrating!
We can trace the evolution using nroff as a starting point.
Nroff appeared in v2 Unix in 1972 and the preceeding roff
formatter did not change afterwards.
The v3 manpage for nroff includes the first reference to the
"NROFF User's Manual" (MM-73-1271-2) and a summary of all
commands. The summary is available with each dated and revised
manpage for nroff through v5.
The v6 manual from 1975 is identified as the second edition of
the "NROFF User's Manual" as revised in Sept. 1974.
If the documentation and changes to the extant source code from
v4 to v6 are in alignment, we should have a baseline history with
a clear indication of differences across versions. I will send a
summary with further details to the groff mailing list in the
coming weeks.
The development of troff before the rewrite to C between v6 and
v7 is a lot less clear. Troff appears in v4 with a mention of a
preliminary user's manual, but I suspect the manual is a summary
of unique troff features that were not documented elsewhere until
v7. The manpages only cover troff invocation.
Also we have here the (unnumbered) first edition of
the eqn User's
Guide (PDF pp. 269ff.).
...
The biggest nroff change that leaps out at me right
now is that in V6
_special character escape sequences did not yet exist_. Given that the
C/A/T typesetter had already been in use for years by 1975 (with eqn
giving it strenuous exercise from early on), I find this fascinating.
Perhaps special characters did exist for troff but were not
documented in this v6 manual. It's not clear without seeing an
earlier troff manual, but I'm staring to think that the v6 manual
may be a continuation of the nroff manual alone. In that case,
general users would have fallen back on overstrikes for most
special characters. The greek characters in eqn and the various
copyright symbols on earlier programmer's manuals seem to support
the assumption that special characters were in use with troff.
The documents and programmer's manuals were all printed with
troff from v4 onwards.
Evidence of the close relationship with the Teletype
Model 37 is
present, with the `\x` and `\y` escape sequences mapping to "ASCII
Shift-out" and "ASCII Shift-in", respectively (PDF p. 177).
I was surprised to see the ribbon shift-in/out feature existed
and then got removed, since it would seem that the command could
have been reused for changing the typing element on Selectric
consoles and daisywheel printers that were fairly widespread.
.xh Extra half-line mode on.
Half line motions are surprisingly common on older documents and
probably a major reason for using troff output that's setup to
look like an nroff device.
I see that the `ad` request did not accept arguments
"l" or "b", just
"c" and "n". Since "b" and "l" were redundant,
my imaginations conjures
office arguments over the meaning of the word "adjustment". With the
design in such flux, too bad I wasn't there to lobby for the separation
of "alignment" and "adjustment". ;-)
No worries, I'll be there soon! <https://savannah.gnu.org/bugs/?65954>
(Fifty years late but moving fast, as Douglas Adams might have said.)
The v6 design certainly seems clearer and in support of your
cleanup.
tmg
compiler-compiler, and m6 macro processor memos were previously
missing from the distributions in TUHS and later efforts to re-create
the documentation.
I'm intensely interested in both of these from a personal perspective.
I observe that the TMG and m6 documents appear may have been prepared
by vintage 1972 and 1971 nroff, making them worthwhile exhibits on that
basis alone (PDF pp. 211ff., 239ff., respectively). I wonder why they
were never typeset. Would the document sources have required too much
"porting" to troff?
I was very interested to find the papers as well. The output
seems to be roff formatted like the v1 manual on TUHS and frozen
from around 1972.
In summary, there is a boatload of information here
that is useful to me
in understanding Why Things Look The Way They Do.
Please keep the groff list apprised of further findings. Fascinating
stuff.
Good work!
Regards,
Branden
Thank you for your feedback and the credit in re-creating the
Unix porting paper, which I have been following with interest.
I really appreciate all of the extra work you put in as
maintainer to understand the history of roff design and output in
order to better document, validate, and develop groff.
Sincerely,
Dan