groff
[Top][All Lists]
Advanced

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

memorandum macros (mm) in 1976/77 (was: an opinionated history of *roff


From: G. Branden Robinson
Subject: memorandum macros (mm) in 1976/77 (was: an opinionated history of *roff macro packages)
Date: Thu, 6 Apr 2023 04:38:09 -0500

At 2023-04-06T17:42:14+1000, Damian McGuckin wrote:
> Doug is a first-hand ms(7) user and has been since it started in 1975
> I believe so he might be able to fill in some of the blanks.
> 
> I think the original reasons for having both packages far predates the
> 1980 time slot about which you speak.

Thank you for this swift follow-up and correction.  Once again the truth
of Cunningham's Law is demonstrated.

Upon reading your correction I had a sense of deja vu; it seems you may
have corrected me about mm(7) chronologically preceding man(7) before,
but the information slipped out of my brain.

Maybe this time it will stick.

> Again, I think Doug's memory is better placed to fill in the gaps on
> ms(7) and mm(7), not least because he was a lot closer to what
> happened and has been using ms(7) for much longer than I have used
> mm(7).
> 
> There is a paper on MM published at an October 1976 conference by
> Mashey and Smith. When I asked John Mashey for some background on this
> during COVID, he most kindly replied with some history and precisely
> mentioned why MM was created:
> 
>       Mike?s -MS was already out, but didn?t cover the various
>       document formats in our Area at BTL Piscataway. Dale (Smith) & I
>       had written several different local packages, then it was time
>       to do a general one with parameterization to cover them all,
>       hence the ?style sheet? approach that let the bulk of the text
>       take on different appearances. I think the 1st version of MM was
>       4Q75 or 1Q76, it was certainly in wide use at BTL Piscataway by
>       2Q/3Q76, or we wouldn?t have talked about it in October 1976
>       conference.
> 
>       MM was apparently the most stressful macro package, as we often
>       found nroff bugs no one else did. Joe Ossanna was thankfully
>       very quick at fixing them.
> 
> At UNSW in Civil Engineering, we had our own reasons for adopting MM
> (with nroff and troff) in the late 70s for use by academic staff and
> secretaries (who manipulated documents and technical papers with
> ed(1)) but that is probably not relevant to this conversation.

It might be to Michał's original inquiry, though.  Why would someone
choose mm(7) when ms(7) is simpler?

With your prompting and a moment's reflection, it occurred to me that
PWB Unix 1.0, one of the first commercial (semi-commercial?) Unix
offerings from AT&T might prove to have an early form of mm(7) in it,
and sure enough it does.

It came in two forms (for nroff and troff) with three "modules" each,
for a total of six files.

https://www.tuhs.org/cgi-bin/utree.pl?file=PWB1/usr/lib/macros/tpwbmm.m
https://www.tuhs.org/cgi-bin/utree.pl?file=PWB1/usr/lib/macros/tpwbmm.mcs
https://www.tuhs.org/cgi-bin/utree.pl?file=PWB1/usr/lib/macros/tpwbmm.mtoc

https://www.tuhs.org/cgi-bin/utree.pl?file=PWB1/usr/lib/macros/npwbmm.m
https://www.tuhs.org/cgi-bin/utree.pl?file=PWB1/usr/lib/macros/npwbmm.mcs
https://www.tuhs.org/cgi-bin/utree.pl?file=PWB1/usr/lib/macros/npwbmm.mtoc

These are written in the classic laconic *roff dialect.

At some point I want to peruse these files to trace the history of the
mm macro/string/register repertoire; as you may be aware, I started
revising the groff_mm(7) man page and fixed a few bugs in the
implementation prior to groff 1.23.0.rc2 getting tagged.  But more work
remains to be done.

Reading vintage 1977 mm sources might finally drill the age of the macro
package into my head such that it doesn't dribble out again.  And if
not, I will appreciate your patient correction once again as I fight a
doomed battle against mental senescence.

Regards,
Branden

Attachment: signature.asc
Description: PGP signature


reply via email to

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