Hi folks, A few months ago I reported on my efforts to reconstruct London & Reiser's paper on their port of Unix to the VAX-11/780.[1] I formerly characterized this as "the UNIX/32V port", but since London & Reiser's paper predates the release of Seventh Edition Unix by about six months, UNIX/32V came _after_ Seventh Edition by about the same number of months, and the pace of Unix development was particularly ferocious in this period[2], I felt that my identification of London & Reiser's work with UNIX/32V may have been hasty. I also may have overinterpreted Dennis Ritchie's words on the subject. "Tom London and John Reiser, working from the 7th Edition and the Interdata 8/32 system, generated a VAX 11/780 version of the system, which, in its distribution format, would be called 32V." That phrase "in its distribution format" could cover a variety of changes, some of which perhaps did not match London & Reiser's intentions or views expressed in their paper. More conservative implications seemed prudent. I'd thus like to present what I consider to be my "final" draft, subject of course to feedback from these mailing lists. I'm pleased to report that I've addressed all of the XXX points I identified in the source of my first draft, points where I felt groff mm could be enhanced to aid the rendering of historical documents like this. I consequently expect groff 1.24's mm package to support several new features prompted specifically by this work. Quoting the forthcoming NEWS file... * The m (mm) macro package now supports a user-definable hook macro `AFX`, which if defined is called by `AF` in lieu of the latter's normal operation. Applications include customization of letterhead. * The m (mm) macro package now supports a user-definable hook macro `RPX`, which if defined is called by `RP` to format the reference list caption string `Rp` instead of the default formatting. * The m (mm) macro package now supports an `Aumt` string to suppress the appearance of positional arguments to the `AU` macro in the document heading used by memorandum types 0-3 and 6. By default, all such arguments appear, except the second (author initials). For example, a value of "3 4" more accurately reproduces London & Reiser's 1978 paper describing the porting of Unix to the VAX-11/780. * The m (mm) macro package now supports an `Rpfmt` string specifying the `LB` macro arguments that the package uses to format the items in a reference list. * The m (mm) macro package no longer superscripts _and_ brackets a reference mark (the `Rf` string). Instead, the new `Rfstyle` register controls its formatting. The default, 0, selects bracketing in nroff mode and superscripting in troff mode. Set `Rfstyle` to 3 in a document to obtain groff mm's previous mark formatting behavior. [I might still update or revert the changed default; I want to research the behavior of historical mm implementations.] The "32vscan.pdf" document from which I prepared this reconstruction is available at Dennis Ritchie's memorial home page.[3] I have attached the reconstructed mm source document and two PDFs, rendered with groff 1.23.0 (the current stable release), and groff Git HEAD (exercising the new features listed above).[4] I offer the caveat that these cannot be pixel-perfect recreations because (1) I have no information about the precise paper dimensions or margins London & Reiser used[5]; (2) the fonts employed in rendering the documents are not identical, metrically or otherwise; and (3) AT&T and GNU troffs use different hyphenation systems and therefore sometimes break words differently. These factors all impact the placement of line and page breaks, and these are avowedly and clearly distinguishable. There are furthermore a few discrepancies that I decided weren't worth the trouble at this time to reconcile, like selective encroachment of cover sheet material beyond the page margins. None affect the utility of the document (in my opinion). With that large disclaimer in place, I welcome feedback on the quality of the reproduction. Finally, I reiterate my encouragement that the document be _read_. In my opinion, the final two sections "Commands" and "Software portability" are well worth consideration in hindsight. To the extent that we continue to boast, sometimes glibly, of C as a "portable assembly language", be it in its current ISO C23 incarnation; as ANSI C89, the last revision blessed by Ritchie; or in the form used when London and Reiser wrote, their experiences and recommendations laid out a program of better delivering on that promise. Regards, Branden [1] https://www.tuhs.org/pipermail/tuhs/2024-June/030041.html [2] 1980, for example, saw releases of 3BSD, System III, PWB/UNIX 2.0, and 4BSD. [3] https://www.bell-labs.com/usr/dmr/www/portpapers.html [4] You may notice a difference in the sizes of the two PDFs, surprising in light of their shared source document. This is thanks to a new feature forthcoming in Deri James's gropdf(1) output driver: font subsetting. [5] ...or where, if anywhere, the authors "cheated" the margins temporarily, for instance with `ll` or `pl` requests. Even with mm macro package sources available, such things would be invisible to the reconstructor.