gbranden pushed a commit to branch master
in repository groff.

commit 2426d1b52c883a592fa7589a31c56558dbd3c357
Author: G. Branden Robinson <[email protected]>
AuthorDate: Fri Apr 3 16:44:22 2026 -0500

    groff_diff(7): Recast intro to compatibility mode.
    
    Except when retrocomputing with CSRC Unix, the *roff documents one
    encounters these days don't generally _require_ compatibility mode to
    format intelligibly, though some might render better with it.
    
    This fact isn't just due to the influence of GNU troff, though that may
    have helped.  Another factor is the Berkeley CSRG's promulgation of
    readable troff documents.  Observe:
    
    $ grep "^['.]" $(find 4.3BSD-Tahoe/usr/doc -type f \
      -and -not -name Makefile) | wc -l
    66793
    
    That's ~67,000 *roff control lines in the 4.3BSD-Tahoe (1988)
    documentary corpus.  (I selected Tahoe because that's the year _before_
    James Clark started writing groff.)
    
    Now let's see how many of these lines use old-school "cramming" syntax,
    assuming that a two-character request or macro name need not be followed
    by a space.
    
    $ grep -E "^['.][[:alnum:]]{3,}" $(find 4.3BSD-Tahoe/usr/doc -type f \
      -and -not -name Makefile) | wc -l
    134
    
    And if we look more closely...
    
    $ grep -El "^['.][[:alnum:]]{3,}" $(find 4.3BSD-Tahoe/usr/doc -type f \
      -and -not -name Makefile) | sort
    4.3BSD-Tahoe/usr/doc/ps2/02.summary/vhel3
    4.3BSD-Tahoe/usr/doc/ps2/09.lisp/ch16.n
    4.3BSD-Tahoe/usr/doc/usd/11.notes/0.long
    4.3BSD-Tahoe/usr/doc/usd/11.notes/0.short
    4.3BSD-Tahoe/usr/doc/usd/24.troff/add
    4.3BSD-Tahoe/usr/doc/usd/24.troff/m.mac
    4.3BSD-Tahoe/usr/doc/usd/24.troff/m0
    4.3BSD-Tahoe/usr/doc/usd/24.troff/m0a
    4.3BSD-Tahoe/usr/doc/usd/24.troff/m1
    4.3BSD-Tahoe/usr/doc/usd/24.troff/m2
    4.3BSD-Tahoe/usr/doc/usd/24.troff/m3
    4.3BSD-Tahoe/usr/doc/usd/24.troff/m4
    4.3BSD-Tahoe/usr/doc/usd/24.troff/m5
    4.3BSD-Tahoe/usr/doc/usd/24.troff/table1
    4.3BSD-Tahoe/usr/doc/usd/24.troff/table2
    4.3BSD-Tahoe/usr/doc/usd/25.trofftut/ttcharset
    
    We see that most of the matches are CSRC documents adopted by Berkeley:
    USD #24 and #25 are Ossanna's CSTR #54 and Kerighan's troff tutorial,
    respectively.  Let's count up the stragglers.
    
    $ grep -E "^['.][[:alnum:]]{3,}" \
      4.3BSD-Tahoe/usr/doc/ps2/02.summary/vhel3 \
      4.3BSD-Tahoe/usr/doc/ps2/09.lisp/ch16.n \
      4.3BSD-Tahoe/usr/doc/usd/11.notes/0.long \
      4.3BSD-Tahoe/usr/doc/usd/11.notes/0.short
    4.3BSD-Tahoe/usr/doc/ps2/02.summary/vhel3:.ne3
    4.3BSD-Tahoe/usr/doc/ps2/09.lisp/ch16.n:'argument  list'  is  atomic,  the  
command  takes an indefinite number
    4.3BSD-Tahoe/usr/doc/usd/11.notes/0.long:.ce999
    4.3BSD-Tahoe/usr/doc/usd/11.notes/0.short:.ce999
    
    That's one false positive--the "09.lisp" document looks clumsily
    composed--and three valid ones.
    
    Three out of roughly 67,000.
    
    It looks to me like James Clark shrewdly exploited an opportunity to
    cement good document composition practice.
    
    Only at the CSRC could one find such deep hatred for the space bar.  :)
    
    Also tighten to avoid stranding a word.
---
 man/groff_diff.7.man | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/man/groff_diff.7.man b/man/groff_diff.7.man
index 8f018c76b..e506cf70c 100644
--- a/man/groff_diff.7.man
+++ b/man/groff_diff.7.man
@@ -81,22 +81,24 @@ by the
 .I troff \" generic
 formatter.
 .
-We also note here differences arising from
+We also note differences arising from
 .IR groff 's
 implementation of AT&T
 .I troff \" AT&T
-features.
-.
-The following discussion assumes familiarity with those features;
+features,
+and assume
+familiarity with them;
 see
 .MR roff @MAN7EXT@
 for background.
 .
 GNU
 .I troff \" GNU
-can operate in a manner that increases support
-for documents written for AT&T
-.IR troff ; \" AT&T
+can operate in a manner that better supports
+documents expecting only
+AT&T
+.I troff \" AT&T
+as the formatter;
 see section \[lq]Compatibility mode\[rq] below.
 .
 .

_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit

Reply via email to