groff-commit
[Top][All Lists]
Advanced

[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.
 .
 .
 .\" ====================================================================



reply via email to

[Prev in Thread] Current Thread [Next in Thread]