]> git.cameronkatri.com Git - mandoc.git/blobdiff - mdoc.7
Added news item for new version.
[mandoc.git] / mdoc.7
diff --git a/mdoc.7 b/mdoc.7
index 3d14898e002426ccb3be9267accd8a933f1a35cf..ce0a001aa440690fc03a3775f9f90f24a6a0f9ef 100644 (file)
--- a/mdoc.7
+++ b/mdoc.7
@@ -1,4 +1,4 @@
-.\"    $Id: mdoc.7,v 1.77 2009/11/12 05:50:12 kristaps Exp $
+.\"    $Id: mdoc.7,v 1.84 2010/02/17 19:22:50 kristaps Exp $
 .\"
 .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
 .\"
 .\"
 .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
 .\"
@@ -14,7 +14,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 12 2009 $
+.Dd $Mdocdate: February 17 2010 $
 .Dt MDOC 7
 .Os
 .
 .Dt MDOC 7
 .Os
 .
@@ -132,7 +132,7 @@ and
 Terms may be text-decorated using the
 .Sq \ef
 escape followed by an indicator: B (bold), I, (italic), R (Roman), or P
 Terms may be text-decorated using the
 .Sq \ef
 escape followed by an indicator: B (bold), I, (italic), R (Roman), or P
-(revert to previous mode):  
+(revert to previous mode):
 .Pp
 .D1 \efBbold\efR \efIitalic\efP
 .Pp
 .Pp
 .D1 \efBbold\efR \efIitalic\efP
 .Pp
@@ -140,7 +140,7 @@ A numerical representation 3, 2, or 1 (bold, italic, and Roman,
 respectively) may be used instead.  A text decoration is valid within
 the current font scope only:  if a macro opens a font scope alongside
 its own scope, such as
 respectively) may be used instead.  A text decoration is valid within
 the current font scope only:  if a macro opens a font scope alongside
 its own scope, such as
-.Sx \&Bf 
+.Sx \&Bf
 .Cm \&Sy ,
 in-scope invocations of
 .Sq \ef
 .Cm \&Sy ,
 in-scope invocations of
 .Sq \ef
@@ -170,19 +170,19 @@ for arbitrary-digit numerals:
 .D1 \es+(10much bigger\es-(10
 .D1 \es+'100'much much bigger\es-'100'
 .Pp
 .D1 \es+(10much bigger\es-(10
 .D1 \es+'100'much much bigger\es-'100'
 .Pp
-Note these forms are 
+Note these forms are
 .Em not
 .Em not
-recommended for 
+recommended for
 .Nm ,
 which encourages semantic annotation.
 .
 .
 .Ss Predefined Strings
 .Nm ,
 which encourages semantic annotation.
 .
 .
 .Ss Predefined Strings
-Historically, 
+Historically,
 .Xr groff 1
 .Xr groff 1
-also defined a set of package-specific 
+also defined a set of package-specific
 .Dq predefined strings ,
 .Dq predefined strings ,
-which, like 
+which, like
 .Sx Special Characters ,
 demark special output characters and strings by way of input codes.
 Predefined strings are escaped with the slash-asterisk,
 .Sx Special Characters ,
 demark special output characters and strings by way of input codes.
 Predefined strings are escaped with the slash-asterisk,
@@ -343,7 +343,7 @@ and
 .Sx \&Os
 macros, is required for every document.
 .Pp
 .Sx \&Os
 macros, is required for every document.
 .Pp
-The first section (sections are denoted by 
+The first section (sections are denoted by
 .Sx \&Sh )
 must be the NAME section, consisting of at least one
 .Sx \&Nm
 .Sx \&Sh )
 must be the NAME section, consisting of at least one
 .Sx \&Nm
@@ -419,6 +419,11 @@ The
 macro(s) must precede the
 .Sx \&Nd
 macro.
 macro(s) must precede the
 .Sx \&Nd
 macro.
+.Pp
+See
+.Sx \&Nm
+and
+.Sx \&Nd .
 .
 .It Em LIBRARY
 The name of the library containing the documented material, which is
 .
 .It Em LIBRARY
 The name of the library containing the documented material, which is
@@ -429,12 +434,11 @@ this is as follows:
 .Ed
 .Pp
 See
 .Ed
 .Pp
 See
-.Sx \&Lb
-for details.
+.Sx \&Lb .
 .
 .It Em SYNOPSIS
 Documents the utility invocation syntax, function call syntax, or device
 .
 .It Em SYNOPSIS
 Documents the utility invocation syntax, function call syntax, or device
-configuration. 
+configuration.
 .Pp
 For the first, utilities (sections 1, 6, and 8), this is
 generally structured as follows:
 .Pp
 For the first, utilities (sections 1, 6, and 8), this is
 generally structured as follows:
@@ -465,11 +469,19 @@ And for the third, configurations (section 4):
 \&.Cd \*qit* at isa? port 0x4e\*q
 .Ed
 .Pp
 \&.Cd \*qit* at isa? port 0x4e\*q
 .Ed
 .Pp
-Manuals not in these sections generally don't need a 
+Manuals not in these sections generally don't need a
 .Em SYNOPSIS .
 .Em SYNOPSIS .
+.Pp
+See
+.Sx \&Op ,
+.Sx \&Cd ,
+.Sx \&Fn ,
+.Sx \&Ft ,
+and
+.Sx \&Vt .
 .
 .It Em DESCRIPTION
 .
 .It Em DESCRIPTION
-This expands upon the brief, one-line description in 
+This expands upon the brief, one-line description in
 .Em NAME .
 It usually contains a break-down of the options (if documenting a
 command), such as:
 .Em NAME .
 It usually contains a break-down of the options (if documenting a
 command), such as:
@@ -480,6 +492,7 @@ The arguments are as follows:
 Print verbose information.
 \&.El
 .Ed
 Print verbose information.
 \&.El
 .Ed
+.Pp
 Manuals not documenting a command won't include the above fragment.
 .
 .It Em IMPLEMENTATION NOTES
 Manuals not documenting a command won't include the above fragment.
 .
 .It Em IMPLEMENTATION NOTES
@@ -535,7 +548,8 @@ for manuals in sections 1, 6, and 8; however, this practise is
 discouraged.
 .Pp
 See
 discouraged.
 .Pp
 See
-.Sx \&Bl No \-diag .
+.Sx \&Bl
+.Fl diag .
 .
 .It Em ERRORS
 Documents error handling in sections 2, 3, and 9.
 .
 .It Em ERRORS
 Documents error handling in sections 2, 3, and 9.
@@ -669,7 +683,7 @@ All macros have bodies; some
 don't have heads; only one
 .Po
 .Sx \&It Fl column
 don't have heads; only one
 .Po
 .Sx \&It Fl column
-.Pc 
+.Pc
 has multiple heads.
 .Bd -literal -offset indent
 \&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB
 has multiple heads.
 .Bd -literal -offset indent
 \&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB
@@ -756,7 +770,16 @@ or end of line.
 .It Sx \&Ql  Ta    Yes      Ta    Yes
 .It Sx \&Qq  Ta    Yes      Ta    Yes
 .It Sx \&Sq  Ta    Yes      Ta    Yes
 .It Sx \&Ql  Ta    Yes      Ta    Yes
 .It Sx \&Qq  Ta    Yes      Ta    Yes
 .It Sx \&Sq  Ta    Yes      Ta    Yes
+.It Sx \&Vt  Ta    Yes      Ta    Yes
 .El
 .El
+.Pp
+Note that the
+.Sx \&Vt
+macro is a
+.Sx Block partial-implicit
+only when invoked as the first macro
+in a SYNOPSIS section line, else it is
+.Sx In-line .
 .
 .
 .Ss In-line
 .
 .
 .Ss In-line
@@ -849,10 +872,10 @@ then the macro accepts an arbitrary number of arguments.
 .It Sx \&Ux  Ta    Yes      Ta    Yes      Ta    n
 .It Sx \&Va  Ta    Yes      Ta    Yes      Ta    n
 .It Sx \&Vt  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Ux  Ta    Yes      Ta    Yes      Ta    n
 .It Sx \&Va  Ta    Yes      Ta    Yes      Ta    n
 .It Sx \&Vt  Ta    Yes      Ta    Yes      Ta    >0
-.It Sx \&Xr  Ta    Yes      Ta    Yes      Ta    >0, <3
+.It Sx \&Xr  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&br  Ta    \&No     Ta    \&No     Ta    0
 .It Sx \&sp  Ta    \&No     Ta    \&No     Ta    1
 .It Sx \&br  Ta    \&No     Ta    \&No     Ta    0
 .It Sx \&sp  Ta    \&No     Ta    \&No     Ta    1
-.El   
+.El
 .
 .
 .Sh REFERENCE
 .
 .
 .Sh REFERENCE
@@ -1012,7 +1035,7 @@ a function:
 .Ed
 .
 .Ss \&Aq
 .Ed
 .
 .Ss \&Aq
-Encloses its arguments in angled brackets.  
+Encloses its arguments in angled brackets.
 .Pp
 Examples:
 .Bd -literal -offset indent
 .Pp
 Examples:
 .Bd -literal -offset indent
@@ -1059,7 +1082,7 @@ Note that these parameters do not begin with a hyphen.
 .Pp
 Examples:
 .Bd -literal -offset indent
 .Pp
 Examples:
 .Bd -literal -offset indent
-\&.At 
+\&.At
 \&.At V.1
 .Ed
 .Pp
 \&.At V.1
 .Ed
 .Pp
@@ -1160,7 +1183,60 @@ and
 .Ss \&Bf
 .Ss \&Bk
 .Ss \&Bl
 .Ss \&Bf
 .Ss \&Bk
 .Ss \&Bl
-.
+.\" Begins a list composed of one or more list entries.  A list entry is
+.\" specified by the
+.\" .Sx \&It
+.\" macro, which consists of a head and optional body.  By default, a list
+.\" is preceded by a blank line.  A list must specify one of the following
+.\" list types:
+.\" .Bl -tag -width 12n
+.\" .It Fl bullet
+.\" A list offset by a bullet.  The head of list entries must be empty.
+.\" List entry bodies are justified after the bullet.
+.\" .It Fl column
+.\" A columnated list.  The number of columns is specified as arguments to
+.\" the
+.\" .Sx \&Bl
+.\" macro (the deprecated form of following the invocation of
+.\" .Fl column
+.\" is also accepted).  Arguments dictate the width of columns specified in
+.\" list entries.  List entry bodies must be left empty.  Columns specified
+.\" in the list entry head are justified to their position in the sequence
+.\" of columns.
+.\" .It Fl dash
+.\" A list offset by a dash (hyphen).  The head of list entries must be
+.\" empty.  List entry bodies are justified past the dash.
+.\" .It Fl diag
+.\" Like
+.\" .Fl inset
+.\" lists, but with additional formatting to the head.
+.\" .It Fl enum
+.\" A list offset by a number indicating list entry position.  The head of
+.\" list entries must be empty.  List entry bodies are justified past the
+.\" enumeration.
+.\" .It Fl hang
+.\" Like
+.\" .Fl tag ,
+.\" but instead of list bodies justifying to the head on the first line,
+.\" they trail the head text.
+.\" .It Fl hyphen
+.\" Synonym for
+.\" .Fl dash .
+.\" .It Fl inset
+.\" Like
+.\" .Fl tag ,
+.\" but list entry bodies aren't justified.
+.\" .It Fl item
+.\" An un-justified list.  This produces blocks of text.
+.\" .It Fl ohang
+.\" List bodies are placed on the line following the head.
+.\" .It Fl tag
+.\" A list offset by list entry heads.  List entry bodies are justified
+.\" after the head.
+.\" .El
+.\" .Pp
+.\" More...
+.\" .
 .Ss \&Bo
 Begins a block enclosed by square brackets.  Does not have any head
 arguments.
 .Ss \&Bo
 Begins a block enclosed by square brackets.  Does not have any head
 arguments.
@@ -1175,7 +1251,7 @@ See also
 .Sx \&Bq .
 .
 .Ss \&Bq
 .Sx \&Bq .
 .
 .Ss \&Bq
-Encloses its arguments in square brackets.  
+Encloses its arguments in square brackets.
 .Pp
 Examples:
 .Bd -literal -offset indent
 .Pp
 Examples:
 .Bd -literal -offset indent
@@ -1322,7 +1398,7 @@ manual.  Its calling syntax is as follows:
 .Pp
 .D1 \. Ns Sx \&Dd Cm date
 .Pp
 .Pp
 .D1 \. Ns Sx \&Dd Cm date
 .Pp
-The 
+The
 .Cm date
 field may be either
 .Ar $\&Mdocdate$ ,
 .Cm date
 field may be either
 .Ar $\&Mdocdate$ ,
@@ -1371,7 +1447,7 @@ See also
 .Sx \&Dq .
 .
 .Ss \&Dq
 .Sx \&Dq .
 .
 .Ss \&Dq
-Encloses its arguments in double quotes.  
+Encloses its arguments in double quotes.
 .Pp
 Examples:
 .Bd -literal -offset indent
 .Pp
 Examples:
 .Bd -literal -offset indent
@@ -1596,6 +1672,22 @@ is provided.
 .Ss \&Fc
 .Ss \&Fd
 .Ss \&Fl
 .Ss \&Fc
 .Ss \&Fd
 .Ss \&Fl
+Command-line flag.  Used when listing arguments to command-line
+utilities.  Prints a fixed-width hyphen
+.Sq \-
+before each delimited argument.  If no arguments are provided, a hyphen
+is still printed.
+.Pp
+Examples:
+.Bd -literal -offset indent
+\&.Fl a b c
+\&.Fl
+\&.Op Fl o Ns Ar file
+.Ed
+.Pp
+See also
+.Sx \&Cm .
+.
 .Ss \&Fn
 .Ss \&Fo
 .Ss \&Fr
 .Ss \&Fn
 .Ss \&Fo
 .Ss \&Fr
@@ -1809,9 +1901,58 @@ and
 .
 .Ss \&Va
 .Ss \&Vt
 .
 .Ss \&Va
 .Ss \&Vt
+A variable type.  This is also used for indicating global variables in the
+SYNOPSIS section, in which case a variable name is also specified.  Note that
+it accepts
+.Sx Block partial-implicit
+syntax when invoked as the first macro in the SYNOPSIS section, else it
+accepts ordinary
+.Sx In-line
+syntax.
+.Pp
+Note that this should not be confused with
+.Sx \&Ft ,
+which is used for function return types.
+.Pp
+Examples:
+.Bd -literal -offset indent
+\&.Vt unsigned char
+\&.Vt extern const char * const sys_signame[] ;
+.Ed
+.Pp
+See also
+.Sx \&Ft
+and
+.Sx \&Va .
+.
 .Ss \&Xc
 .Ss \&Xo
 .Ss \&Xr
 .Ss \&Xc
 .Ss \&Xo
 .Ss \&Xr
+Link to another manual
+.Pq Qq cross-reference .
+Its calling syntax is
+.Pp
+.D1 \. Ns Sx \&Xr Cm name section
+.Pp
+The
+.Cm name
+and
+.Cm section
+are the name and section of the linked manual.  If
+.Cm section
+is followed by non-punctuation, an
+.Sx \&Ns
+is inserted into the token stream.  This behaviour is for compatibility
+with
+.Xr groff 1 .
+.Pp
+Examples:
+.Bd -literal -offset indent
+\&.Xr mandoc 1
+\&.Xr mandoc 1 ;
+\&.Xr mandoc 1 s behaviour
+.Ed
+.
 .Ss \&br
 .Ss \&sp
 .
 .Ss \&br
 .Ss \&sp
 .
@@ -1830,6 +1971,23 @@ file re-write
 .Pp
 .Bl -dash -compact
 .It
 .Pp
 .Bl -dash -compact
 .It
+The comment syntax
+.Sq \e."
+is no longer accepted.
+.It
+In
+.Xr groff 1 ,
+the
+.Sx \&Pa
+macro does not format its arguments when used in the FILES section under
+certain list types.  This irregular behaviour has been discontinued.
+.It
+Historic
+.Xr groff 1
+does not print a dash for empty
+.Sx \&Fl
+arguments.  This behaviour has been discontinued.
+.It
 .Xr groff 1
 behaves strangely (even between versions) when specifying
 .Sq \ef
 .Xr groff 1
 behaves strangely (even between versions) when specifying
 .Sq \ef
@@ -1838,8 +1996,8 @@ normalised.
 .It
 Negative scaling units are now truncated to zero instead of creating
 interesting conditions, such as with
 .It
 Negative scaling units are now truncated to zero instead of creating
 interesting conditions, such as with
-.Sx \&sp 
-.Cm \-1i .
+.Sx \&sp
+.Fl 1i .
 Furthermore, the
 .Sq f
 scaling unit, while accepted, is rendered as the default unit.
 Furthermore, the
 .Sq f
 scaling unit, while accepted, is rendered as the default unit.
@@ -1849,7 +2007,7 @@ standalone double-quote in formatted output.  This idiosyncratic
 behaviour is no longer applicable.
 .It
 Display types
 behaviour is no longer applicable.
 .It
 Display types
-.Sx \&Bd 
+.Sx \&Bd
 .Fl center
 and
 .Fl right
 .Fl center
 and
 .Fl right
@@ -1880,7 +2038,7 @@ made historic groff
 .Qq go orbital
 but is a proper delimiter in this implementation.
 .It
 .Qq go orbital
 but is a proper delimiter in this implementation.
 .It
-.Sx \&It 
+.Sx \&It
 .Fl nested
 is assumed for all lists (it wasn't in historic groff): any list may be
 nested and
 .Fl nested
 is assumed for all lists (it wasn't in historic groff): any list may be
 nested and