[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[TUHS/groff] Provenance of .SB macro in man pages
From: |
G. Branden Robinson |
Subject: |
[TUHS/groff] Provenance of .SB macro in man pages |
Date: |
Sun, 26 Jan 2020 02:00:13 +1100 |
User-agent: |
NeoMutt/20180716 |
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
signature.asc
Description: PGP signature
- [TUHS/groff] Provenance of .SB macro in man pages,
G. Branden Robinson <=