[TUHS] [TUHS/groff] Provenance of .SB macro in man pages

G. Branden Robinson g.branden.robinson at gmail.com
Sun Jan 26 01:00:13 AEST 2020


Hi folks,

I've been adding a history subsection to the groff_man(7) page for the
next groff release (date TBD) and thanks to the TUHS archives I've been
able to answer almost all the questions I had about the origins of the
man(7) language's macros and registers (number and string).

I'm inlining my findings in rendered and source form below, but there's
one feature I haven't been able to sort out--where did .SB (small bold)
come from?  The oldest groff release I can find online is 1.02 (June
1991), and .SB is already there, but I can't find it anywhere else.  Is
it a GNUism?  Did it perhaps appear in a proprietary Unix first?

I'm aware of Kristaps Dzonsons's history of Unix man pages[1], but
unfortunately for me that is more of a history of the *roff system(s),
and does not have much detail about the evolution of the man(7) macro
language itself.

If you can shed any light on this, I'd appreciate it!

   History
       Version 7 Unix (1979) supported all of the macros described in this
       page not listed as extensions, except .P, .SB, and the deprecated .AT
       and .UC.  The only string registers defined were R and S; no number
       registers were documented.  .UC appeared in 3BSD (1980) and .P in AT&T
       Unix System III (1980).  4BSD (1980) added lq and rq string registers.
       4.3BSD (1986) added .AT and AT&T's .P.  DEC Ultrix 11 (1988) added the
       Tm string register.

.\" ====================================================================
.SS History
.\" ====================================================================
.
Version\~7 Unix (1979) supported all of the macros described in this
page not listed as extensions,
except
.BR .P ,
.BR .SB ,
.\" .SS was implemented in tmac.an but not documented in man(7).
and the deprecated
.BR .AT
and
.BR .UC .
.
The only string registers defined were
.B R
and
.BR S ;
no number registers were documented.
.
.B .UC
appeared in 3BSD (1980) and
.B .P
in AT&T Unix System\~III (1980).
.
4BSD (1980) added
.\" undocumented .VS and .VE macros to mark regions with 12-point box
.\" rules (\[br]) as margin characters, as well as...
.B lq
and
.B rq
string registers.
.
4.3BSD (1986) added
.\" undocumented .DS and .DE macros for "displays", which are .RS/.RE
.\" wrappers with filling disabled and vertical space of 1v before and
.\" .5v after, as well as...
.B .AT
and
AT&T's
.BR .P .
.
DEC Ultrix\~11 (1988) added the
.B Tm
string register.
.
.\" TODO: Determine provenance of .SB.

Regards,
Branden

[1] https://manpages.bsd.lv/history.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20200126/7fda4c37/attachment.sig>


More information about the TUHS mailing list