]> git.cameronkatri.com Git - mandoc.git/blobdiff - mdoc.7
Add a new term_flushln() flag TERMP_BRIND (if break, then indent)
[mandoc.git] / mdoc.7
diff --git a/mdoc.7 b/mdoc.7
index f81a49836f2b36b71d00ca99ea379ab5251418e2..2b58495bf1b850d31267e70c0a4c0c6c12edeecf 100644 (file)
--- a/mdoc.7
+++ b/mdoc.7
@@ -1,7 +1,7 @@
-.\"    $Id: mdoc.7,v 1.213 2011/11/01 14:59:27 schwarze Exp $
+.\"    $Id: mdoc.7,v 1.228 2014/03/31 01:05:32 schwarze Exp $
 .\"
 .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
 .\"
 .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
-.\" Copyright (c) 2010, 2011 Ingo Schwarze <schwarze@openbsd.org>
+.\" Copyright (c) 2010, 2011, 2013 Ingo Schwarze <schwarze@openbsd.org>
 .\"
 .\" Permission to use, copy, modify, and distribute this software for any
 .\" purpose with or without fee is hereby granted, provided that the above
 .\"
 .\" Permission to use, copy, modify, and distribute this software for any
 .\" purpose with or without fee is hereby granted, provided that the above
@@ -15,7 +15,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: November 1 2011 $
+.Dd $Mdocdate: March 31 2014 $
 .Dt MDOC 7
 .Os
 .Sh NAME
 .Dt MDOC 7
 .Os
 .Sh NAME
@@ -125,7 +125,7 @@ file for a utility
 \&.Nm progname
 \&.Nd one line about what it does
 \&.\e\(dq .Sh LIBRARY
 \&.Nm progname
 \&.Nd one line about what it does
 \&.\e\(dq .Sh LIBRARY
-\&.\e\(dq For sections 2, 3, & 9 only.
+\&.\e\(dq For sections 2, 3, and 9 only.
 \&.\e\(dq Not used in OpenBSD.
 \&.Sh SYNOPSIS
 \&.Nm progname
 \&.\e\(dq Not used in OpenBSD.
 \&.Sh SYNOPSIS
 \&.Nm progname
@@ -135,20 +135,22 @@ file for a utility
 The
 \&.Nm
 utility processes files ...
 The
 \&.Nm
 utility processes files ...
+\&.\e\(dq .Sh CONTEXT
+\&.\e\(dq For section 9 functions only.
 \&.\e\(dq .Sh IMPLEMENTATION NOTES
 \&.\e\(dq Not used in OpenBSD.
 \&.\e\(dq .Sh RETURN VALUES
 \&.\e\(dq .Sh IMPLEMENTATION NOTES
 \&.\e\(dq Not used in OpenBSD.
 \&.\e\(dq .Sh RETURN VALUES
-\&.\e\(dq For sections 2, 3, & 9 only.
+\&.\e\(dq For sections 2, 3, and 9 function return values only.
 \&.\e\(dq .Sh ENVIRONMENT
 \&.\e\(dq .Sh ENVIRONMENT
-\&.\e\(dq For sections 1, 6, 7, & 8 only.
+\&.\e\(dq For sections 1, 6, 7, and 8 only.
 \&.\e\(dq .Sh FILES
 \&.\e\(dq .Sh EXIT STATUS
 \&.\e\(dq .Sh FILES
 \&.\e\(dq .Sh EXIT STATUS
-\&.\e\(dq For sections 1, 6, & 8 only.
+\&.\e\(dq For sections 1, 6, and 8 only.
 \&.\e\(dq .Sh EXAMPLES
 \&.\e\(dq .Sh DIAGNOSTICS
 \&.\e\(dq .Sh EXAMPLES
 \&.\e\(dq .Sh DIAGNOSTICS
-\&.\e\(dq For sections 1, 4, 6, 7, & 8 only.
+\&.\e\(dq For sections 1, 4, 6, 7, 8, and 9 printf/stderr messages only.
 \&.\e\(dq .Sh ERRORS
 \&.\e\(dq .Sh ERRORS
-\&.\e\(dq For sections 2, 3, & 9 only.
+\&.\e\(dq For sections 2, 3, 4, and 9 errno settings only.
 \&.\e\(dq .Sh SEE ALSO
 \&.\e\(dq .Xr foobar 1
 \&.\e\(dq .Sh STANDARDS
 \&.\e\(dq .Sh SEE ALSO
 \&.\e\(dq .Xr foobar 1
 \&.\e\(dq .Sh STANDARDS
@@ -318,6 +320,9 @@ macro followed by a non-standard section name, and each having
 several subsections, like in the present
 .Nm
 manual.
 several subsections, like in the present
 .Nm
 manual.
+.It Em CONTEXT
+This section lists the contexts in which functions can be called in section 9.
+The contexts are autoconf, process, or interrupt.
 .It Em IMPLEMENTATION NOTES
 Implementation-specific notes should be kept here.
 This is useful when implementing standard functions that may have side
 .It Em IMPLEMENTATION NOTES
 Implementation-specific notes should be kept here.
 This is useful when implementing standard functions that may have side
@@ -358,8 +363,12 @@ Example usages.
 This often contains snippets of well-formed, well-tested invocations.
 Make sure that examples work properly!
 .It Em DIAGNOSTICS
 This often contains snippets of well-formed, well-tested invocations.
 Make sure that examples work properly!
 .It Em DIAGNOSTICS
-Documents error conditions.
-This is most useful in section 4 manuals.
+Documents error messages.
+In section 4 and 9 manuals, these are usually messages printed by the
+kernel to the console and to the kernel log.
+In section 1, 6, 7, and 8, these are usually messages printed by
+userland programs to the standard error output.
+.Pp
 Historically, this section was used in place of
 .Em EXIT STATUS
 for manuals in sections 1, 6, and 8; however, this practise is
 Historically, this section was used in place of
 .Em EXIT STATUS
 for manuals in sections 1, 6, and 8; however, this practise is
@@ -369,7 +378,9 @@ See
 .Sx \&Bl
 .Fl diag .
 .It Em ERRORS
 .Sx \&Bl
 .Fl diag .
 .It Em ERRORS
-Documents error handling in sections 2, 3, and 9.
+Documents
+.Xr errno 2
+settings in sections 2, 3, 4, and 9.
 .Pp
 See
 .Sx \&Er .
 .Pp
 See
 .Sx \&Er .
@@ -477,6 +488,7 @@ in the alphabetical
 .Bl -column "Brq, Bro, Brc" description
 .It Sx \&Lb Ta function library (one argument)
 .It Sx \&In Ta include file (one argument)
 .Bl -column "Brq, Bro, Brc" description
 .It Sx \&Lb Ta function library (one argument)
 .It Sx \&In Ta include file (one argument)
+.It Sx \&Fd Ta other preprocessor directive (>0 arguments)
 .It Sx \&Ft Ta function type (>0 arguments)
 .It Sx \&Fo , \&Fc Ta function block: Ar funcname
 .It Sx \&Fn Ta function name:
 .It Sx \&Ft Ta function type (>0 arguments)
 .It Sx \&Fo , \&Fc Ta function block: Ar funcname
 .It Sx \&Fn Ta function name:
@@ -657,7 +669,7 @@ for all other author listings.
 .Pp
 Examples:
 .Dl \&.An -nosplit
 .Pp
 Examples:
 .Dl \&.An -nosplit
-.Dl \&.An Kristaps Dzonsons \&Aq kristaps@bsd.lv
+.Dl \&.An Kristaps Dzonsons \&Aq \&Mt kristaps@bsd.lv
 .Ss \&Ao
 Begin a block enclosed by angle brackets.
 Does not have any head arguments.
 .Ss \&Ao
 Begin a block enclosed by angle brackets.
 Does not have any head arguments.
@@ -711,7 +723,9 @@ for fixed strings to be passed verbatim as arguments, use
 or
 .Sx \&Cm .
 .Ss \&At
 or
 .Sx \&Cm .
 .Ss \&At
-Formats an AT&T version.
+Formats an
+.At
+version.
 Accepts one optional argument:
 .Pp
 .Bl -tag -width "v[1-7] | 32vX" -offset indent -compact
 Accepts one optional argument:
 .Pp
 .Bl -tag -width "v[1-7] | 32vX" -offset indent -compact
@@ -820,8 +834,8 @@ The most popular is the imaginary macro
 which resolves to
 .Sy 6n .
 .It
 which resolves to
 .Sy 6n .
 .It
-A width using the syntax described in
-.Sx Scaling Widths .
+A scaling width as described in
+.Xr roff 7 .
 .It
 An arbitrary string, which indents by the length of this string.
 .El
 .It
 An arbitrary string, which indents by the length of this string.
 .El
@@ -926,8 +940,8 @@ The
 .Fl width
 and
 .Fl offset
 .Fl width
 and
 .Fl offset
-arguments accept
-.Sx Scaling Widths
+arguments accept scaling widths as described in
+.Xr roff 7
 or use the length of the given string.
 The
 .Fl offset
 or use the length of the given string.
 The
 .Fl offset
@@ -956,9 +970,9 @@ A columnated list.
 The
 .Fl width
 argument has no effect; instead, each argument specifies the width
 The
 .Fl width
 argument has no effect; instead, each argument specifies the width
-of one column, using either the
-.Sx Scaling Widths
-syntax or the string length of the argument.
+of one column, using either the scaling width syntax described in
+.Xr roff 7
+or the string length of the argument.
 If the first line of the body of a
 .Fl column
 list is not an
 If the first line of the body of a
 .Fl column
 list is not an
@@ -1089,7 +1103,9 @@ Examples:
 See also
 .Sx \&Bro .
 .Ss \&Bsx
 See also
 .Sx \&Bro .
 .Ss \&Bsx
-Format the BSD/OS version provided as an argument, or a default value if
+Format the
+.Bsx
+version provided as an argument, or a default value if
 no argument is provided.
 .Pp
 Examples:
 no argument is provided.
 .Pp
 Examples:
@@ -1109,7 +1125,9 @@ and
 Prints
 .Dq is currently in beta test.
 .Ss \&Bx
 Prints
 .Dq is currently in beta test.
 .Ss \&Bx
-Format the BSD version provided as an argument, or a default value if no
+Format the
+.Bx
+version provided as an argument, or a default value if no
 argument is provided.
 .Pp
 Examples:
 argument is provided.
 .Pp
 Examples:
@@ -1298,70 +1316,70 @@ It should be capitalised.
 .It Ar section
 The manual section.
 This may be one of
 .It Ar section
 The manual section.
 This may be one of
-.Ar 1
+.Cm 1
 .Pq utilities ,
 .Pq utilities ,
-.Ar 2
+.Cm 2
 .Pq system calls ,
 .Pq system calls ,
-.Ar 3
+.Cm 3
 .Pq libraries ,
 .Pq libraries ,
-.Ar 3p
+.Cm 3p
 .Pq Perl libraries ,
 .Pq Perl libraries ,
-.Ar 4
+.Cm 4
 .Pq devices ,
 .Pq devices ,
-.Ar 5
+.Cm 5
 .Pq file formats ,
 .Pq file formats ,
-.Ar 6
+.Cm 6
 .Pq games ,
 .Pq games ,
-.Ar 7
+.Cm 7
 .Pq miscellaneous ,
 .Pq miscellaneous ,
-.Ar 8
+.Cm 8
 .Pq system utilities ,
 .Pq system utilities ,
-.Ar 9
+.Cm 9
 .Pq kernel functions ,
 .Pq kernel functions ,
-.Ar X11
+.Cm X11
 .Pq X Window System ,
 .Pq X Window System ,
-.Ar X11R6
+.Cm X11R6
 .Pq X Window System ,
 .Pq X Window System ,
-.Ar unass
+.Cm unass
 .Pq unassociated ,
 .Pq unassociated ,
-.Ar local
+.Cm local
 .Pq local system ,
 .Pq local system ,
-.Ar draft
+.Cm draft
 .Pq draft manual ,
 or
 .Pq draft manual ,
 or
-.Ar paper
+.Cm paper
 .Pq paper .
 It should correspond to the manual's filename suffix and defaults to
 .Pq paper .
 It should correspond to the manual's filename suffix and defaults to
-.Dq 1
+.Cm 1
 if unspecified.
 .It Ar volume
 This overrides the volume inferred from
 .Ar section .
 This field is optional, and if specified, must be one of
 if unspecified.
 .It Ar volume
 This overrides the volume inferred from
 .Ar section .
 This field is optional, and if specified, must be one of
-.Ar USD
+.Cm USD
 .Pq users' supplementary documents ,
 .Pq users' supplementary documents ,
-.Ar PS1
+.Cm PS1
 .Pq programmers' supplementary documents ,
 .Pq programmers' supplementary documents ,
-.Ar AMD
+.Cm AMD
 .Pq administrators' supplementary documents ,
 .Pq administrators' supplementary documents ,
-.Ar SMM
+.Cm SMM
 .Pq system managers' manuals ,
 .Pq system managers' manuals ,
-.Ar URM
+.Cm URM
 .Pq users' reference manuals ,
 .Pq users' reference manuals ,
-.Ar PRM
+.Cm PRM
 .Pq programmers' reference manuals ,
 .Pq programmers' reference manuals ,
-.Ar KM
+.Cm KM
 .Pq kernel manuals ,
 .Pq kernel manuals ,
-.Ar IND
+.Cm IND
 .Pq master index ,
 .Pq master index ,
-.Ar MMI
+.Cm MMI
 .Pq master index ,
 .Pq master index ,
-.Ar LOCAL
+.Cm LOCAL
 .Pq local manuals ,
 .Pq local manuals ,
-.Ar LOC
+.Cm LOC
 .Pq local manuals ,
 or
 .Pq local manuals ,
 or
-.Ar CON
+.Cm CON
 .Pq contributed manuals .
 .It Ar arch
 This specifies the machine architecture a manual page applies to,
 .Pq contributed manuals .
 .It Ar arch
 This specifies the machine architecture a manual page applies to,
@@ -1401,11 +1419,16 @@ See also
 .Sx \&Er
 and
 .Sx \&Ev
 .Sx \&Er
 and
 .Sx \&Ev
-for special-purpose constants and
+for special-purpose constants,
 .Sx \&Va
 .Sx \&Va
-for variable symbols.
+for variable symbols, and
+.Sx \&Fd
+for listing preprocessor variable definitions in the
+.Em SYNOPSIS .
 .Ss \&Dx
 .Ss \&Dx
-Format the DragonFly BSD version provided as an argument, or a default
+Format the
+.Dx
+version provided as an argument, or a default
 value if no argument is provided.
 .Pp
 Examples:
 value if no argument is provided.
 .Pp
 Examples:
@@ -1562,15 +1585,32 @@ See also
 End a function context started by
 .Sx \&Fo .
 .Ss \&Fd
 End a function context started by
 .Sx \&Fo .
 .Ss \&Fd
-Historically used to document include files.
-This usage has been deprecated in favour of
+Preprocessor directive, in particular for listing it in the
+.Em SYNOPSIS .
+Historically, it was also used to document include files.
+The latter usage has been deprecated in favour of
 .Sx \&In .
 .Sx \&In .
-Do not use this macro.
+.Pp
+Its syntax is as follows:
+.Bd -ragged -offset indent
+.Pf \. Sx \&Fd
+.Li # Ns Ar directive
+.Op Ar argument ...
+.Ed
+.Pp
+Examples:
+.Dl \&.Fd #define sa_handler __sigaction_u.__sa_handler
+.Dl \&.Fd #define SIO_MAXNFDS
+.Dl \&.Fd #ifdef FS_DEBUG
+.Dl \&.Ft void
+.Dl \&.Fn dbg_open \(dqconst char *\(dq
+.Dl \&.Fd #endif
 .Pp
 See also
 .Pp
 See also
-.Sx MANUAL STRUCTURE
+.Sx MANUAL STRUCTURE ,
+.Sx \&In ,
 and
 and
-.Sx \&In .
+.Sx \&Dv .
 .Ss \&Fl
 Command-line flag or option.
 Used when listing arguments to command-line utilities.
 .Ss \&Fl
 Command-line flag or option.
 Used when listing arguments to command-line utilities.
@@ -1851,7 +1891,7 @@ section as described in
 .Pp
 Examples:
 .Dl \&.Lb libz
 .Pp
 Examples:
 .Dl \&.Lb libz
-.Dl \&.Lb mdoc
+.Dl \&.Lb libmandoc
 .Ss \&Li
 Denotes text that should be in a
 .Li literal
 .Ss \&Li
 Denotes text that should be in a
 .Li literal
@@ -1902,6 +1942,7 @@ Its syntax is as follows:
 .Pp
 Examples:
 .Dl \&.Mt discuss@manpages.bsd.lv
 .Pp
 Examples:
 .Dl \&.Mt discuss@manpages.bsd.lv
+.Dl \&.An Kristaps Dzonsons \&Aq \&Mt kristaps@bsd.lv
 .Ss \&Nd
 A one line description of the manual's content.
 This may only be invoked in the
 .Ss \&Nd
 A one line description of the manual's content.
 This may only be invoked in the
@@ -2083,7 +2124,7 @@ This macro is obsolete and not implemented in
 .Xr mandoc 1 .
 .Pp
 Historical
 .Xr mandoc 1 .
 .Pp
 Historical
-.Xr mdoc 7
+.Nm
 packages described it as
 .Dq "old function type (FORTRAN)" .
 .Ss \&Ox
 packages described it as
 .Dq "old function type (FORTRAN)" .
 .Ss \&Ox
@@ -2324,103 +2365,243 @@ and
 .Sx \&Sx .
 .Ss \&St
 Replace an abbreviation for a standard with the full form.
 .Sx \&Sx .
 .Ss \&St
 Replace an abbreviation for a standard with the full form.
-The following standards are recognised:
-.Pp
-.Bl -tag -width "-p1003.1g-2000X" -compact
-.It \-p1003.1-88
-.St -p1003.1-88
-.It \-p1003.1-90
-.St -p1003.1-90
-.It \-p1003.1-96
-.St -p1003.1-96
-.It \-p1003.1-2001
-.St -p1003.1-2001
-.It \-p1003.1-2004
-.St -p1003.1-2004
-.It \-p1003.1-2008
-.St -p1003.1-2008
-.It \-p1003.1
-.St -p1003.1
-.It \-p1003.1b
-.St -p1003.1b
-.It \-p1003.1b-93
-.St -p1003.1b-93
-.It \-p1003.1c-95
-.St -p1003.1c-95
-.It \-p1003.1g-2000
-.St -p1003.1g-2000
-.It \-p1003.1i-95
-.St -p1003.1i-95
-.It \-p1003.2-92
-.St -p1003.2-92
-.It \-p1003.2a-92
-.St -p1003.2a-92
-.It \-p1387.2-95
-.St -p1387.2-95
-.It \-p1003.2
-.St -p1003.2
-.It \-p1387.2
-.St -p1387.2
+The following standards are recognised.
+Where multiple lines are given without a blank line in between,
+they all refer to the same standard, and using the first form
+is recommended.
+.Bl -tag -width 1n
+.It C language standards
+.Pp
+.Bl -tag -width "-p1003.1g-2000" -compact
+.It \-ansiC
+.St -ansiC
+.It \-ansiC-89
+.St -ansiC-89
 .It \-isoC
 .St -isoC
 .It \-isoC-90
 .St -isoC-90
 .It \-isoC
 .St -isoC
 .It \-isoC-90
 .St -isoC-90
+.br
+The original C standard.
+.Pp
 .It \-isoC-amd1
 .St -isoC-amd1
 .It \-isoC-amd1
 .St -isoC-amd1
+.Pp
 .It \-isoC-tcor1
 .St -isoC-tcor1
 .It \-isoC-tcor1
 .St -isoC-tcor1
+.Pp
 .It \-isoC-tcor2
 .St -isoC-tcor2
 .It \-isoC-tcor2
 .St -isoC-tcor2
+.Pp
 .It \-isoC-99
 .St -isoC-99
 .It \-isoC-99
 .St -isoC-99
+.It \-ansiC-99
+.St -ansiC-99
+.br
+The second major version of the C language standard.
+.Pp
+.It \-isoC-2011
+.St -isoC-2011
+.br
+The third major version of the C language standard.
+.El
+.It POSIX.1 before the Single UNIX Specification
+.Pp
+.Bl -tag -width "-p1003.1g-2000" -compact
+.It \-p1003.1-88
+.St -p1003.1-88
+.It \-p1003.1
+.St -p1003.1
+.br
+The original POSIX standard, based on ANSI C.
+.Pp
+.It \-p1003.1-90
+.St -p1003.1-90
 .It \-iso9945-1-90
 .St -iso9945-1-90
 .It \-iso9945-1-90
 .St -iso9945-1-90
+.br
+The first update of POSIX.1.
+.Pp
+.It \-p1003.1b-93
+.St -p1003.1b-93
+.It \-p1003.1b
+.St -p1003.1b
+.br
+Real-time extensions.
+.Pp
+.It \-p1003.1c-95
+.St -p1003.1c-95
+.br
+POSIX thread interfaces.
+.Pp
+.It \-p1003.1i-95
+.St -p1003.1i-95
+.br
+Technical Corrigendum.
+.Pp
+.It \-p1003.1-96
+.St -p1003.1-96
 .It \-iso9945-1-96
 .St -iso9945-1-96
 .It \-iso9945-1-96
 .St -iso9945-1-96
-.It \-iso9945-2-93
-.St -iso9945-2-93
-.It \-ansiC
-.St -ansiC
-.It \-ansiC-89
-.St -ansiC-89
-.It \-ansiC-99
-.St -ansiC-99
-.It \-ieee754
-.St -ieee754
-.It \-iso8802-3
-.St -iso8802-3
-.It \-iso8601
-.St -iso8601
-.It \-ieee1275-94
-.St -ieee1275-94
+.br
+Includes POSIX.1-1990, 1b, 1c, and 1i.
+.El
+.It X/Open Portability Guide version 4 and related standards
+.Pp
+.Bl -tag -width "-p1003.1g-2000" -compact
 .It \-xpg3
 .St -xpg3
 .It \-xpg3
 .St -xpg3
+.br
+An XPG4 precursor, published in 1989.
+.Pp
+.It \-p1003.2
+.St -p1003.2
+.It \-p1003.2-92
+.St -p1003.2-92
+.It \-iso9945-2-93
+.St -iso9945-2-93
+.br
+An XCU4 precursor.
+.Pp
+.It \-p1003.2a-92
+.St -p1003.2a-92
+.br
+Updates to POSIX.2.
+.Pp
 .It \-xpg4
 .St -xpg4
 .It \-xpg4
 .St -xpg4
+.br
+Based on POSIX.1 and POSIX.2, published in 1992.
+.El
+.It Single UNIX Specification version 1 and related standards
+.Pp
+.Bl -tag -width "-p1003.1g-2000" -compact
 .It \-xpg4.2
 .St -xpg4.2
 .It \-xpg4.2
 .St -xpg4.2
+.br
+This standard was published in 1994 and is also called SUSv1.
+It was used as the basis for UNIX 95 certification.
+The following three refer to parts of it.
+.Pp
+.It \-xsh4.2
+.St -xsh4.2
+.Pp
+.It \-xcurses4.2
+.St -xcurses4.2
+.Pp
+.It \-p1003.1g-2000
+.St -p1003.1g-2000
+.br
+Networking APIs, including sockets.
+.Pp
 .It \-xpg4.3
 .St -xpg4.3
 .It \-xpg4.3
 .St -xpg4.3
+.Pp
+.It \-svid4
+.St -svid4 ,
+.br
+Published in 1995.
+.El
+.It Single UNIX Specification version 2 and related standards
+.Pp
+.Bl -tag -width "-p1003.1g-2000" -compact
+.It \-susv2
+.St -susv2
+This Standard was published in 1997
+and is also called X/Open Portability Guide version 5.
+It was used as the basis for UNIX 98 certification.
+The following refer to parts of it.
+.Pp
 .It \-xbd5
 .St -xbd5
 .It \-xbd5
 .St -xbd5
-.It \-xcu5
-.St -xcu5
+.Pp
 .It \-xsh5
 .St -xsh5
 .It \-xsh5
 .St -xsh5
+.Pp
+.It \-xcu5
+.St -xcu5
+.Pp
 .It \-xns5
 .St -xns5
 .It \-xns5
 .St -xns5
-.It \-xns5.2
-.St -xns5.2
 .It \-xns5.2d2.0
 .St -xns5.2d2.0
 .It \-xns5.2d2.0
 .St -xns5.2d2.0
-.It \-xcurses4.2
-.St -xcurses4.2
-.It \-susv2
-.St -susv2
+.It \-xns5.2
+.St -xns5.2
+.Pp
+.It \-p1387.2
+.St -p1387.2
+.It \-p1387.2-95
+.St -p1387.2-95
+.br
+POSIX software administration.
+.El
+.It Single UNIX Specification version 3 and related standards
+.Pp
+.Bl -tag -width "-p1003.1g-2000X" -compact
+.It \-p1003.1d-99
+.St -p1003.1d-99
+.br
+Additional real-time extensions.
+.Pp
+.It \-p1003.1j-2000
+.St -p1003.1j-2000
+.br
+Advanced real-time extensions.
+.Pp
+.It \-p1003.1q-2000
+.St -p1003.1q-2000
+.br
+Amendment 7: Tracing [C Language].
+.Pp
+.It \-p1003.1-2001
+.St -p1003.1-2001
 .It \-susv3
 .St -susv3
 .It \-susv3
 .St -susv3
-.It \-svid4
-.St -svid4
+.br
+This standard is based on C99, SUSv2, POSIX.1-1996, 1d, and 1j.
+It is also called X/Open Portability Guide version 6.
+It is used as the basis for UNIX 03 certification.
+.Pp
+.It \-p1003.1-2004
+.St -p1003.1-2004
+.br
+The second and last Technical Corrigendum.
+.El
+.It Single UNIX Specification version 4
+.Pp
+.Bl -tag -width "-p1003.1g-2000" -compact
+.It \-p1003.1-2008
+.St -p1003.1-2008
+.br
+This standard is also called SUSv4 and
+X/Open Portability Guide version 7.
+.Pp
+.It \-p1003.1-2013
+.St -p1003.1-2013
+.br
+This is the first Technical Corrigendum.
+.El
+.It Other standards
+.Pp
+.Bl -tag -width "-p1003.1g-2000" -compact
+.It \-ieee754
+.St -ieee754
+.br
+Floating-point arithmetic.
+.Pp
+.It \-iso8601
+.St -iso8601
+.br
+Representation of dates and times, published in 1988.
+.Pp
+.It \-iso8802-3
+.St -iso8802-3
+.br
+Ethernet local area networks.
+.Pp
+.It \-ieee1275-94
+.St -ieee1275-94
+.El
 .El
 .Ss \&Sx
 Reference a section or subsection in the same manual page.
 .El
 .Ss \&Sx
 Reference a section or subsection in the same manual page.
@@ -2465,7 +2646,9 @@ Examples:
 Prints out
 .Dq currently under development.
 .Ss \&Ux
 Prints out
 .Dq currently under development.
 .Ss \&Ux
-Format the UNIX name.
+Format the
+.Ux
+name.
 Accepts no argument.
 .Pp
 Examples:
 Accepts no argument.
 .Pp
 Examples:
@@ -2530,20 +2713,14 @@ Link to another manual
 .Pq Qq cross-reference .
 Its syntax is as follows:
 .Pp
 .Pq Qq cross-reference .
 Its syntax is as follows:
 .Pp
-.D1 Pf \. Sx \&Xr Ar name section
+.D1 Pf \. Sx \&Xr Ar name Op section
 .Pp
 .Pp
-The
+Cross reference the
 .Ar name
 and
 .Ar section
 .Ar name
 and
 .Ar section
-are the name and section of the linked manual.
-If
-.Ar section
-is followed by non-punctuation, an
-.Sx \&Ns
-is inserted into the token stream.
-This behaviour is for compatibility with
-GNU troff.
+number of another man page;
+omitting the section number is rarely useful.
 .Pp
 Examples:
 .Dl \&.Xr mandoc 1
 .Pp
 Examples:
 .Dl \&.Xr mandoc 1
@@ -2567,8 +2744,8 @@ Its syntax is as follows:
 .Pp
 The
 .Ar height
 .Pp
 The
 .Ar height
-argument must be formatted as described in
-.Sx Scaling Widths .
+argument is a scaling width as described in
+.Xr roff 7 .
 If unspecified,
 .Sx \&sp
 asserts a single vertical space.
 If unspecified,
 .Sx \&sp
 asserts a single vertical space.
@@ -2962,7 +3139,7 @@ Manually switching the font using the
 .Ql \ef
 font escape sequences is never required.
 .Sh COMPATIBILITY
 .Ql \ef
 font escape sequences is never required.
 .Sh COMPATIBILITY
-This section documents compatibility between mandoc and other other
+This section documents compatibility between mandoc and other
 troff implementations, at this time limited to GNU troff
 .Pq Qq groff .
 The term
 troff implementations, at this time limited to GNU troff
 .Pq Qq groff .
 The term
@@ -3107,9 +3284,9 @@ The following features are unimplemented in mandoc:
 .Fl file Ar file .
 .It
 .Sx \&Bd
 .Fl file Ar file .
 .It
 .Sx \&Bd
-.Fl offset Ar center
+.Fl offset Cm center
 and
 and
-.Fl offset Ar right .
+.Fl offset Cm right .
 Groff does not implement centred and flush-right rendering either,
 but produces large indentations.
 .It
 Groff does not implement centred and flush-right rendering either,
 but produces large indentations.
 .It
@@ -3166,5 +3343,4 @@ utility written by Kristaps Dzonsons appeared in
 The
 .Nm
 reference was written by
 The
 .Nm
 reference was written by
-.An Kristaps Dzonsons ,
-.Mt kristaps@bsd.lv .
+.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .