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 is the issuer on the licenses and printed documentation packs for Research Unix in the 1970s. I completely looked past the typo amidst the thrill of obtaining the document! I've let an archivist at the CHM know of the correction. It was striking to me when searching that most catalog entries for Unix material through v6 combine the documents as a single serial from 1971-76 with Thompson and/or Ritchie as authors, which made the locating specific items 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! I hope we can get closer to filling in the gaps and nroff will provide a starting point. Nroff appears in v2 in 1972. The roff program that appeared in v1 stays static afterwards through v7. The first reference to the "NROFF Users' Manual" (MM-73-1271-2) is in the manpage for v3 (dated January 1973). The manpage also now includes a full request summary of commands and continues to do so with dated changes for each release through v5. The v6 user's manual header is listed as the second edition of the nroff manual from an update in September 1974 (v5). If the changes for each manpage align with the manuals and the source code for v4-6, then it should be possible to trace the evolution. I'll follow-up with an effort to summarize the change history in a subsequent email to the groff list in the coming weeks. The troff history is a lot less clear to me at this point for the time before the rewrite to c between v6 and v7. The "Troff User's Manual" appears in v4 and is listed as preliminary alongside the "TROFF Made Trivial" document that likely provided a basis for the later troff tutorial. The v6 nroff user's manual was clearly typeset in troff (like the programmer's manuals in general from v4 onwards), but the troff user's manual is listed as a separate document on the manpage through v6. > Also we have here the (unnumbered) first edition of the eqn User's > Guide (PDF pp. 269ff.). It would be nice to have a drop-in special font with traces traces of the non-alphanumeric special characters that rendered uniquely on the C/A/T: primarily some of the braces and lower case slanted Greek letters. I am thinking the font would be in addition to possible code points for troff-specific drawing characters like the underrule and box corners that were recently mentioned for addition to unicode coverage. > 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. This omission makes me wonder if the special characters were part of short, separate troff-specific manual that remained completely separate until v7 (particularly given the eqn style characters and other symbols already in use as you noted). > 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). You would think shift-in and out would have stuck around as a shorthand for nroff device type element changes, given the common tendency to use Selectrics and later daisy wheel printers. > .xh Extra half-line mode on. Usage of half-lines appears surprisingly often in general and is perhaps the major case for outputting troff 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 > > No worries, I'll be there soon! <https://savannah.gnu.org/bugs/?65954> The v6 approach certainly seems clearer and supports your suggested cleanup of .ad. > > 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? Very interesting to locate these papers that are frequently referenced. Based on the appearance and layout, I suspect they were formatted early with runoff and frozen in time. They have the same characteristics as the v1 manual on TUHS. > 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. Thank you for the feedback and the credit in the 32v paper reconstruction, which I have been following with interest. I'm planning to update the troff timeline and post further documentation online going forward. I really appreciate all of the extra effort you put in as a maintainer by investigating the evolution of roff language design and output as part of validating, documenting, and improving groff in development. Sincerely, Dan