I’ve been going through UTP, getting ready to start UTP Revisited, and came 
across `checkmm` in the -mm chapter again. I searched the mailing list archive, 
and found the primary mention was a thread I started during UTP Revival[1], 
again asking about availability.

So, as one does in 2026, I asked the magic box (AI) about availability. It said 
that (paraphrased) "checkmm was made a part of DWB, which was never placed 
under an open license, but copies of the source are available on TUHS for 
Ultrix 3.1 and SVR4." Doing a web search “site:tuhs.org checkmm” turned up a 
copy of the source at:

        
https://www.tuhs.org/cgi-bin/utree.pl?file=Ultrix-3.1/src/cmd/troff/checkmm/

OK, there’s some progress. The copyright statement is “Copyright (c) Digital 
Equipment Corporation 1984, 1985, 1986. All Rights Reserved.” HP owns DEC’s IP 
now; I don’t suppose anyone knows anyone who could ask HP to donate 11K of 40 
year old code? (Or heck, open all of Ultrix’s code.)
 

The magic box, which does often talk nonsense, went on to say (direct quote 
this time. minus Markdown markup):

> Modern Linux systems use GNU Troff (groff). Instead of a standalone checkmm
> binary, groff implements macro checking natively. When you run
> "groff -mm -b -w w yourfile.mm", the -b (backtrace) and -w w (enable all 
> warnings) flags
> will automatically detect and print syntax errors, unmatched macros, or 
> structural issues.


I expect there’s some “start with a fact, then heap BS on BS” going on here. 
Groff’s diagnostics are useful, but can it detect unclosed macro pairs and 
structural issues? Now if it really can, putting “alias checkmm groff -mm -b 
-ww” in our .profile would give us an easy replacement. Is anyone using -mm a 
lot and willing to test this?

— Larry

[1] How the **** did 20 years go by that fast?


Reply via email to