[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[groff] 01/01: groff_man(7): Update historical information.
From: |
G. Branden Robinson |
Subject: |
[groff] 01/01: groff_man(7): Update historical information. |
Date: |
Mon, 17 Feb 2020 07:43:26 -0500 (EST) |
gbranden pushed a commit to branch master
in repository groff.
commit d9d52efc87e591508d81f93467759907a8d41ff1
Author: G. Branden Robinson <address@hidden>
AuthorDate: Mon Feb 17 23:10:26 2020 +1100
groff_man(7): Update historical information.
* Expand history section to cover the remainder of the man(7) macro and
register namespace.
+ Note that Version 7 Unix introduced the man macro package itself;
this was meant but not clearly implied by the existing discussion.
+ Doug McIlroy pointed out that .EX and .EE come from Version 9 Unix
(a.k.a. Ninth Edition Research Unix). Document this.
+ Document provenance of .SB macro as well as it is understood.
* Document GNU extensions explicitly.
* Explain what the "compatibility reason" for .AT and .UC is.
* Recast some language to avoid a misleading antecedent.
* Stop preventing hyphenation on a word that won't get hyphenated.
---
tmac/groff_man.7.man | 76 +++++++++++++++++++++++++++++++++++++---------------
1 file changed, 54 insertions(+), 22 deletions(-)
diff --git a/tmac/groff_man.7.man b/tmac/groff_man.7.man
index 5fb72fe..107e4df 100644
--- a/tmac/groff_man.7.man
+++ b/tmac/groff_man.7.man
@@ -404,13 +404,21 @@ and text file contents.
.
.\" END EXAMPLE (TODO: move to tutorial/style guide when we have it)
.IP
-These macros are defined on many (but not all) legacy Unix systems
+.\" Also see subsection "History" below...
+These macros are extensions,
+introduced in Version\~9 Unix,
+to the original
+.I man
+package.
+.
+Many (but not all) legacy Unix systems
running classic
-.IR troff .
+.I troff
+support them.
.
-To be certain your page will be portable to those systems, copy
-their definitions from the
-.I \%an\-ext.tmac
+To be certain your page will be portable to systems that do not,
+copy their definitions from the
+.I an\-ext.tmac
file of a
.I groff
installation.
@@ -552,7 +560,7 @@ This macro is not defined on legacy Unix systems running
classic
.
To be certain your page will be portable to those systems,
copy its definition from the
-.I \%an\-ext.tmac
+.I an\-ext.tmac
file of a
.I groff
installation.
@@ -649,9 +657,9 @@ with command-line options of some formats indicated by
These macros are not defined on legacy Unix systems running classic
.IR troff .
.
-To be certain your page will be portable to those systems, copy
-their definitions from the
-.I \%an\-ext.tmac
+To be certain your page will be portable to those systems,
+copy their definitions from the
+.I an\-ext.tmac
file of a
.I groff
installation.
@@ -876,9 +884,9 @@ and URL hyperlinks with
These macros are not defined on legacy Unix systems running classic
.IR troff .
.
-To be certain your page will be portable to those systems, copy
-their definitions from the
-.I \%an\-ext.tmac
+To be certain your page will be portable to those systems,
+copy their definitions from the
+.I an\-ext.tmac
file of a
.I groff
installation.
@@ -1535,6 +1543,8 @@ expands to the font identifier used to print headings and
subheadings.
.
The default is \(oqB\(cq.
.
+This string register is a GNU extension.\" from groff 1.19
+.
.
.TP
.B \e*(lq
@@ -2000,7 +2010,8 @@ overriding any definition of the
argument to
.BR .TH .
.
-This macro exists only for compatibility; don't use it.
+This macro exists only for compatibility,
+to render man pages from historical systems.
.
.
.IP
@@ -2042,6 +2053,8 @@ Set the page footer.
.
Redefine this macro to get control of the footer.
.
+This macro is a GNU extension.\" from groff 1.19
+.
.
.TP
.B .DT
@@ -2126,6 +2139,8 @@ Set the page header.
.
Redefine this macro to get control of the header.
.
+This macro is a GNU extension.\" from groff 1.19
+.
.
.TP
.BR .UC " ["\c
@@ -2136,7 +2151,8 @@ overriding any definition of the
argument to
.BR .TH .
.
-This macro exists only for compatibility; don't use it.
+This macro exists only for compatibility,
+to render man pages from historical systems.
.
.
.IP
@@ -2179,16 +2195,16 @@ can be:
.SS History
.\" ====================================================================
.
-Version\~7 Unix (1979) supported all of the macros described in this
-page not listed as extensions,
+Version\~7 Unix (1979) introduced the
+.I man
+macro package and 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 ,
-.BR .BT ,
-.BR .PT ,
+.BR .AT
and
.BR .UC .
.
@@ -2201,7 +2217,7 @@ no number registers were documented.
.B .UC
appeared in 3BSD (1980) and
.B .P
-in AT&T Unix System\~III (1980).
+in Unix System\~III (1980).
.
4BSD (1980) added
.\" undocumented .VS and .VE macros to mark regions with 12-point box
@@ -2217,9 +2233,25 @@ string registers.
.\" .5v after, as well as...
.B .AT
and
-AT&T's
.BR .P .
-.\" TODO: Determine provenance of .BT, .PT, .SB, \*(HF, and \*(Tm.
+.
+.\" Per Doug McIlroy in
+.\" <https://lists.gnu.org/archive/html/groff/2019-07/msg00038.html>...
+Version\~9 Unix (1986) introduced
+.B .EX
+and
+.BR .EE .
+.
+Ultrix\~11 (1988) added the
+.B Tm
+string register.
+.
+SunOS\~4.0 (1988) may have been the first to support
+.BR .SB .
+.\" ...which appeared in a few man pages distributed in 4.3BSD-Reno and
+.\" 4.4BSD even though BSD was already transitioning to mdoc(7) by that
+.\" time and did not support the macro. SunOS 4.0.3 (May 1989)
+.\" contained over 2,100 uses of .SB.
.
.
.\" ====================================================================
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 01/01: groff_man(7): Update historical information.,
G. Branden Robinson <=