[BACK]Return to mandoc.1 CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/mandoc.1 between version 1.176 and 1.215

version 1.176, 2017/03/04 17:17:34 version 1.215, 2017/07/06 22:59:48
Line 20 
Line 20 
 .Os  .Os
 .Sh NAME  .Sh NAME
 .Nm mandoc  .Nm mandoc
 .Nd format and display UNIX manuals  .Nd format manual pages
 .Sh SYNOPSIS  .Sh SYNOPSIS
 .Nm mandoc  .Nm mandoc
 .Op Fl acfhkl  .Op Fl ac
 .Op Fl I Cm os Ns = Ns Ar name  .Op Fl I Cm os Ns = Ns Ar name
 .Op Fl K Ar encoding  .Op Fl K Ar encoding
 .Op Fl m Ns Ar format  .Op Fl mdoc | man
 .Op Fl O Ar option  .Op Fl O Ar options
 .Op Fl T Ar output  .Op Fl T Ar output
 .Op Fl W Ar level  .Op Fl W Ar level
 .Op Ar  .Op Ar
Line 44  reads
Line 44  reads
 .Xr mdoc 7  .Xr mdoc 7
 or  or
 .Xr man 7  .Xr man 7
 text from stdin, implying  text from stdin and produces
 .Fl m Ns Cm andoc ,  
 and produces  
 .Fl T Cm locale  .Fl T Cm locale
 output.  output.
 .Pp  .Pp
Line 67  to paginate them.
Line 65  to paginate them.
 This is the default.  This is the default.
 It can be specified to override  It can be specified to override
 .Fl a .  .Fl a .
 .It Fl f  
 A synonym for  
 .Xr whatis 1 .  
 This overrides any earlier  
 .Fl k  
 and  
 .Fl l  
 options.  
 .It Fl h  
 Display only the SYNOPSIS lines.  
 Implies  
 .Fl c .  
 .It Fl I Cm os Ns = Ns Ar name  .It Fl I Cm os Ns = Ns Ar name
 Override the default operating system  Override the default operating system
 .Ar name  .Ar name
 for the  for the
 .Xr mdoc 7  .Xr mdoc 7
 .Sq \&Os  .Ic \&Os
 and for the  and for the
 .Xr man 7  .Xr man 7
 .Sq \&TH  .Ic \&TH
 macro.  macro.
 .It Fl K Ar encoding  .It Fl K Ar encoding
 Specify the input encoding.  Specify the input encoding.
Line 122  sequence, input is interpreted as
Line 108  sequence, input is interpreted as
 Otherwise, input is interpreted as  Otherwise, input is interpreted as
 .Cm iso-8859-1 .  .Cm iso-8859-1 .
 .El  .El
 .It Fl k  .It Fl mdoc | man
 A synonym for  With
 .Xr apropos 1 .  .Fl mdoc ,
 This overrides any earlier  all input files are interpreted as
 .Fl f  .Xr mdoc 7 .
 and  With
 .Fl l  .Fl man ,
 options.  all input files are interpreted as
 .It Fl l  .Xr man 7 .
 A synonym for  By default, the input language is automatically detected for each file:
 .Fl a .  if the the first macro is
 Also reverts any earlier  .Ic \&Dd
 .Fl f  or
 and  .Ic \&Dt ,
 .Fl k  the
 options.  .Xr mdoc 7
 .It Fl m Ns Ar format  parser is used; otherwise, the
 Input format.  .Xr man 7
 See  parser is used.
 .Sx Input Formats  With other arguments,
 for available formats.  .Fl m
 Defaults to  is silently ignored.
 .Fl m Ns Cm andoc .  .It Fl O Ar options
 .It Fl O Ar option  
 Comma-separated output options.  Comma-separated output options.
 .It Fl T Ar output  .It Fl T Ar output
 Output format.  Output format.
Line 161  to be reported on the standard error output and to aff
Line 146  to be reported on the standard error output and to aff
 The  The
 .Ar level  .Ar level
 can be  can be
   .Cm base ,
   .Cm style ,
 .Cm warning ,  .Cm warning ,
 .Cm error ,  .Cm error ,
 or  or
 .Cm unsupp ;  .Cm unsupp .
   The
   .Cm base
   level automatically derives the operating system from the contents of the
   .Ic \&Os
   macro, from the
   .Fl Ios
   command line option, or from the
   .Xr uname 3
   return value.
   The levels
   .Cm openbsd
   and
   .Cm netbsd
   are variants of
   .Cm base
   that bypass autodetection and request validation of base system
   conventions for a particular operating system.
   The level
 .Cm all  .Cm all
 is an alias for  is an alias for
 .Cm warning .  .Cm base .
 By default,  By default,
 .Nm  .Nm
 is silent.  is silent.
Line 198  If multiple files are specified,
Line 203  If multiple files are specified,
 will halt with the first failed parse.  will halt with the first failed parse.
 .El  .El
 .Pp  .Pp
   The options
   .Fl fhklw
   are also supported and are documented in man(1).
 In  In
 .Fl f  .Fl f
 and  and
Line 205  and
Line 213  and
 mode,  mode,
 .Nm  .Nm
 also supports the options  also supports the options
 .Fl CMmOSsw  .Fl CMmOSs
 described in the  described in the
 .Xr apropos 1  .Xr apropos 1
 manual.  manual.
 .Ss Input Formats  The options
 The  .Fl fkl
 .Nm  are mutually exclusive and override each other.
 utility accepts  
 .Xr mdoc 7  
 and  
 .Xr man 7  
 input with  
 .Fl m Ns Cm doc  
 and  
 .Fl m Ns Cm an ,  
 respectively.  
 The  
 .Xr mdoc 7  
 format is  
 .Em strongly  
 recommended;  
 .Xr man 7  
 should only be used for legacy manuals.  
 .Pp  
 A third option,  
 .Fl m Ns Cm andoc ,  
 which is also the default, determines encoding on-the-fly: if the first  
 non-comment macro is  
 .Sq \&Dd  
 or  
 .Sq \&Dt ,  
 the  
 .Xr mdoc 7  
 parser is used; otherwise, the  
 .Xr man 7  
 parser is used.  
 .Pp  
 If multiple  
 files are specified with  
 .Fl m Ns Cm andoc ,  
 each has its file-type determined this way.  
 If multiple files are  
 specified and  
 .Fl m Ns Cm doc  
 or  
 .Fl m Ns Cm an  
 is specified, then this format is used exclusively.  
 .Ss Output Formats  .Ss Output Formats
 The  The
 .Nm  .Nm
Line 270  See
Line 238  See
 .It Fl T Cm lint  .It Fl T Cm lint
 Parse only: produce no output.  Parse only: produce no output.
 Implies  Implies
 .Fl W Cm warning .  .Fl W Cm all .
 .It Fl T Cm locale  .It Fl T Cm locale
 Encode output using the current locale.  Encode output using the current locale.
 This is the default.  This is the default.
Line 304  See
Line 272  See
 Encode output in the UTF\-8 multi-byte format.  Encode output in the UTF\-8 multi-byte format.
 See  See
 .Sx UTF\-8 Output .  .Sx UTF\-8 Output .
 .It Fl T Cm xhtml  
 This is a synonym for  
 .Fl T Cm html .  
 .El  .El
 .Pp  .Pp
 If multiple input files are specified, these will be processed by the  If multiple input files are specified, these will be processed by the
Line 350  Increasing this is not recommended; it may result in d
Line 315  Increasing this is not recommended; it may result in d
 for example overfull lines or ugly line breaks.  for example overfull lines or ugly line breaks.
 .It Cm width Ns = Ns Ar width  .It Cm width Ns = Ns Ar width
 The output width is set to  The output width is set to
 .Ar width ,  .Ar width .
 which will normalise to \(>=58.  
 .El  .El
 .Ss HTML Output  .Ss HTML Output
 Output produced by  Output produced by
Line 391  The string
Line 355  The string
 for example,  for example,
 .Ar ../src/%I.html ,  .Ar ../src/%I.html ,
 is used as a template for linked header files (usually via the  is used as a template for linked header files (usually via the
 .Sq \&In  .Ic \&In
 macro).  macro).
 Instances of  Instances of
 .Sq \&%I  .Sq \&%I
Line 404  The string
Line 368  The string
 for example,  for example,
 .Ar ../html%S/%N.%S.html ,  .Ar ../html%S/%N.%S.html ,
 is used as a template for linked manuals (usually via the  is used as a template for linked manuals (usually via the
 .Sq \&Xr  .Ic \&Xr
 macro).  macro).
 Instances of  Instances of
 .Sq \&%N  .Sq \&%N
Line 450  If the input format is
Line 414  If the input format is
 .Xr man 7 ,  .Xr man 7 ,
 the input is copied to the output, expanding any  the input is copied to the output, expanding any
 .Xr roff 7  .Xr roff 7
 .Sq so  .Ic so
 requests.  requests.
 The parser is also run, and as usual, the  The parser is also run, and as usual, the
 .Fl W  .Fl W
Line 465  input to the
Line 429  input to the
 format conforming to  format conforming to
 .Lk http://daringfireball.net/projects/markdown/syntax.text\  .Lk http://daringfireball.net/projects/markdown/syntax.text\
  "John Gruber's 2004 specification" .   "John Gruber's 2004 specification" .
   The output also almost conforms to the
   .Lk http://commonmark.org/ CommonMark
   specification.
 .Pp  .Pp
   The character set used for the markdown output is ASCII.
   Non-ASCII characters are encoded as HTML entities.
   Since that is not possible in literal font contexts, because these
   are rendered as code spans and code blocks in the markdown output,
   non-ASCII characters are transliterated to ASCII approximations in
   these contexts.
   .Pp
 Markdown is a very weak markup language, so all semantic markup is  Markdown is a very weak markup language, so all semantic markup is
 lost, and even part of the presentational markup may be lost.  lost, and even part of the presentational markup may be lost.
 Do not use this as an intermediate step in converting to HTML;  Do not use this as an intermediate step in converting to HTML;
Line 601  Meta data is not available in this case.
Line 575  Meta data is not available in this case.
 .It Ev MANPAGER  .It Ev MANPAGER
 Any non-empty value of the environment variable  Any non-empty value of the environment variable
 .Ev MANPAGER  .Ev MANPAGER
 will be used instead of the standard pagination program,  is used instead of the standard pagination program,
 .Xr more 1 .  .Xr more 1 ;
   see
   .Xr man 1
   for details.
   Only used if
   .Fl a
   or
   .Fl l
   is specified.
 .It Ev PAGER  .It Ev PAGER
 Specifies the pagination program to use when  Specifies the pagination program to use when
 .Ev MANPAGER  .Ev MANPAGER
Line 610  is not defined.
Line 592  is not defined.
 If neither PAGER nor MANPAGER is defined,  If neither PAGER nor MANPAGER is defined,
 .Xr more 1  .Xr more 1
 .Fl s  .Fl s
 will be used.  is used.
   Only used if
   .Fl a
   or
   .Fl l
   is specified.
 .El  .El
 .Sh EXIT STATUS  .Sh EXIT STATUS
 The  The
Line 623  option:
Line 610  option:
 .Pp  .Pp
 .Bl -tag -width Ds -compact  .Bl -tag -width Ds -compact
 .It 0  .It 0
 No warnings or errors occurred, or those that did were ignored because  No base system convention violations, style suggestions, warnings,
 they were lower than the requested  or errors occurred, or those that did were ignored because they
   were lower than the requested
 .Ar level .  .Ar level .
   .It 1
   At least one base system convention violation or style suggestion
   occurred, but no warning or error, and
   .Fl W Cm base
   or
   .Fl W Cm style
   was specified.
 .It 2  .It 2
 At least one warning occurred, but no error, and  At least one warning occurred, but no error, and
 .Fl W Cm warning  .Fl W Cm warning
 was specified.  or a lower
   .Ar level
   was requested.
 .It 3  .It 3
 At least one parsing error occurred,  At least one parsing error occurred,
 but no unsupported feature was encountered, and  but no unsupported feature was encountered, and
 .Fl W Cm error  .Fl W Cm error
 or  or a lower
 .Fl W Cm warning  .Ar level
 was specified.  was requested.
 .It 4  .It 4
 At least one unsupported feature was encountered, and  At least one unsupported feature was encountered, and
 .Fl W Cm unsupp ,  .Fl W Cm unsupp
 .Fl W Cm error  or a lower
 or  .Ar level
 .Fl W Cm warning  was requested.
 was specified.  
 .It 5  .It 5
 Invalid command line arguments were specified.  Invalid command line arguments were specified.
 No input files have been read.  No input files have been read.
Line 658  to exit at once, possibly in the middle of parsing or 
Line 654  to exit at once, possibly in the middle of parsing or 
 Note that selecting  Note that selecting
 .Fl T Cm lint  .Fl T Cm lint
 output mode implies  output mode implies
 .Fl W Cm warning .  .Fl W Cm all .
 .Sh EXAMPLES  .Sh EXAMPLES
 To page manuals to the terminal:  To page manuals to the terminal:
 .Pp  .Pp
 .Dl $ mandoc \-W all,stop mandoc.1 2\*(Gt&1 | less  .Dl $ mandoc -l mandoc.1 man.1 apropos.1 makewhatis.8
 .Dl $ mandoc mandoc.1 mdoc.3 mdoc.7 | less  
 .Pp  .Pp
 To produce HTML manuals with  To produce HTML manuals with
 .Pa mandoc.css  .Pa mandoc.css
Line 692  parser:
Line 687  parser:
 Messages displayed by  Messages displayed by
 .Nm  .Nm
 follow this format:  follow this format:
   .Bd -ragged -offset indent
   .Nm :
   .Ar file : Ns Ar line : Ns Ar column : level : message : macro args
   .Pq Ar os
   .Ed
 .Pp  .Pp
 .D1 Nm Ns : Ar file : Ns Ar line : Ns Ar column : level : message : macro args  
 .Pp  
 Line and column numbers start at 1.  Line and column numbers start at 1.
 Both are omitted for messages referring to an input file as a whole.  Both are omitted for messages referring to an input file as a whole.
 Macro names and arguments are omitted where meaningless.  Macro names and arguments are omitted where meaningless.
   The
   .Ar os
   operating system specifier is omitted for messages that are relevant
   for all operating systems.
 Fatal messages about invalid command line arguments  Fatal messages about invalid command line arguments
 or operating system errors, for example when memory is exhausted,  or operating system errors, for example when memory is exhausted,
 may also omit the  may also omit the
Line 743  rendering can be produced.
Line 745  rendering can be produced.
 Documents causing warnings may render poorly when using other  Documents causing warnings may render poorly when using other
 formatting tools instead of  formatting tools instead of
 .Nm .  .Nm .
   .It Cm style
   An input file uses dubious or discouraged style.
   This is not a complaint about the syntax, and probably neither
   formatting nor portability are in danger.
   While great care is taken to avoid false positives on the higher
   message levels, the
   .Cm style
   level tries to reduce the probability that issues go unnoticed,
   so it may occasionally issue bogus suggestions.
   Please use your good judgement to decide whether any particular
   .Cm style
   suggestion really justifies a change to the input file.
   .It Cm base
   A convertion used in the base system of a specific operating system
   is not adhered to.
   These are not markup mistakes, and neither the quality of formatting
   nor portability are in danger.
   Messages of the
   .Cm base
   level are printed with the more intuitive
   .Cm style
   .Ar level
   tag.
 .El  .El
 .Pp  .Pp
 Messages of the  Messages of the
   .Cm base ,
   .Cm style ,
 .Cm warning ,  .Cm warning ,
 .Cm error ,  .Cm error ,
 and  and
Line 756  are hidden unless their level, or a lower level, is re
Line 783  are hidden unless their level, or a lower level, is re
 option or  option or
 .Fl T Cm lint  .Fl T Cm lint
 output mode.  output mode.
   .Pp
   As indicated below, all
   .Cm base
   and some
   .Cm style
   checks are only performed if a specific operating system name occurs
   in the arguments of the
   .Fl W
   command line option, of the
   .Ic \&Os
   macro, of the
   .Fl Ios
   command line option, or, if neither are present, in the return value
   of the
   .Xr uname 3
   function.
   .Ss Conventions for base system manuals
   .Bl -ohang
   .It Sy "Mdocdate found"
   .Pq mdoc , Nx
   The
   .Ic \&Dd
   macro uses CVS
   .Ic Mdocdate
   keyword substitution, which is not supported by the
   .Nx
   base system.
   Consider using the conventional
   .Dq "Month dd, yyyy"
   format instead.
   .It Sy "Mdocdate missing"
   .Pq mdoc , Ox
   The
   .Ic \&Dd
   macro does not use CVS
   .Ic Mdocdate
   keyword substitution, but using it is conventionally expected in the
   .Ox
   base system.
   .It Sy "unknown architecture"
   .Pq mdoc , Ox , Nx
   The third argument of the
   .Ic \&Dt
   macro does not match any of the architectures this operating system
   is running on.
   .It Sy "operating system explicitly specified"
   .Pq mdoc , Ox , Nx
   The
   .Ic \&Os
   macro has an argument.
   In the base system, it is conventionally left blank.
   .It Sy "RCS id missing"
   .Pq Ox , Nx
   The manual page lacks the comment line with the RCS identifier
   generated by CVS
   .Ic OpenBSD
   or
   .Ic NetBSD
   keyword substitution as conventionally used in these operating systems.
   .It Sy "referenced manual not found"
   .Pq mdoc
   An
   .Ic \&Xr
   macro references a manual page that is not found in the base system.
   The path to look for base system manuals is configurable at compile
   time and defaults to
   .Pa /usr/share/man : /usr/X11R6/man .
   .El
   .Ss Style suggestions
   .Bl -ohang
   .It Sy "legacy man(7) date format"
   .Pq mdoc
   The
   .Ic \&Dd
   macro uses the legacy
   .Xr man 7
   date format
   .Dq yyyy-dd-mm .
   Consider using the conventional
   .Xr mdoc 7
   date format
   .Dq "Month dd, yyyy"
   instead.
   .It Sy "lower case character in document title"
   .Pq mdoc , man
   The title is still used as given in the
   .Ic \&Dt
   or
   .Ic \&TH
   macro.
   .It Sy "duplicate RCS id"
   A single manual page contains two copies of the RCS identifier for
   the same operating system.
   Consider deleting the later instance and moving the first one up
   to the top of the page.
   .It Sy "typo in section name"
   .Pq mdoc
   Fuzzy string matching revealed that the argument of an
   .Ic \&Sh
   macro is similar, but not identical to a standard section name.
   .It Sy "unterminated quoted argument"
   .Pq roff
   Macro arguments can be enclosed in double quote characters
   such that space characters and macro names contained in the quoted
   argument need not be escaped.
   The closing quote of the last argument of a macro can be omitted.
   However, omitting it is not recommended because it makes the code
   harder to read.
   .It Sy "useless macro"
   .Pq mdoc
   A
   .Ic \&Bt ,
   .Ic \&Tn ,
   or
   .Ic \&Ud
   macro was found.
   Simply delete it: it serves no useful purpose.
   .It Sy "consider using OS macro"
   .Pq mdoc
   A string was found in plain text or in a
   .Ic \&Bx
   macro that could be represented using
   .Ic \&Ox ,
   .Ic \&Nx ,
   .Ic \&Fx ,
   or
   .Ic \&Dx .
   .It Sy "errnos out of order"
   .Pq mdoc, Nx
   The
   .Ic \&Er
   items in a
   .Ic \&Bl
   list are not in alphabetical order.
   .It Sy "duplicate errno"
   .Pq mdoc, Nx
   A
   .Ic \&Bl
   list contains two consecutive
   .Ic \&It
   entries describing the same
   .Ic \&Er
   number.
   .It Sy "trailing delimiter"
   .Pq mdoc
   The last argument of an
   .Ic \&Ex , \&Fo , \&Nd , \&Nm , \&Os , \&Sh , \&Ss , \&St ,
   or
   .Ic \&Sx
   macro ends with a trailing delimiter.
   This is usually bad style and often indicates typos.
   Most likely, the delimiter can be removed.
   .It Sy "no blank before trailing delimiter"
   .Pq mdoc
   The last argument of a macro that supports trailing delimiter
   arguments is longer than one byte and ends with a trailing delimiter.
   Consider inserting a blank such that the delimiter becomes a separate
   argument, thus moving it out of the scope of the macro.
   .It Sy "fill mode already enabled, skipping"
   .Pq man
   A
   .Ic \&fi
   request occurs even though the document is still in fill mode,
   or already switched back to fill mode.
   It has no effect.
   .It Sy "fill mode already disabled, skipping"
   .Pq man
   An
   .Ic \&nf
   request occurs even though the document already switched to no-fill mode
   and did not switch back to fill mode yet.
   It has no effect.
   .It Sy "function name without markup"
   .Pq mdoc
   A word followed by an empty pair of parentheses occurs on a text line.
   Consider using an
   .Ic \&Fn
   or
   .Ic \&Xr
   macro.
   .It Sy "whitespace at end of input line"
   .Pq mdoc , man , roff
   Whitespace at the end of input lines is almost never semantically
   significant \(em but in the odd case where it might be, it is
   extremely confusing when reviewing and maintaining documents.
   .It Sy "bad comment style"
   .Pq roff
   Comment lines start with a dot, a backslash, and a double-quote character.
   The
   .Nm
   utility treats the line as a comment line even without the backslash,
   but leaving out the backslash might not be portable.
   .El
 .Ss Warnings related to the document prologue  .Ss Warnings related to the document prologue
 .Bl -ohang  .Bl -ohang
 .It Sy "missing manual title, using UNTITLED"  .It Sy "missing manual title, using UNTITLED"
Line 770  macro before the first non-prologue macro.
Line 990  macro before the first non-prologue macro.
 There is no  There is no
 .Ic \&TH  .Ic \&TH
 macro, or it has no arguments.  macro, or it has no arguments.
 .It Sy "lower case character in document title"  
 .Pq mdoc , man  
 The title is still used as given in the  
 .Ic \&Dt  
 or  
 .Ic \&TH  
 macro.  
 .It Sy "missing manual section, using \(dq\(dq"  .It Sy "missing manual section, using \(dq\(dq"
 .Pq mdoc , man  .Pq mdoc , man
 A  A
Line 812  The date given in a
Line 1025  The date given in a
 or  or
 .Ic \&TH  .Ic \&TH
 macro does not follow the conventional format.  macro does not follow the conventional format.
   .It Sy "date in the future, using it anyway"
   .Pq mdoc , man
   The date given in a
   .Ic \&Dd
   or
   .Ic \&TH
   macro is more than a day ahead of the current system
   .Xr time 3 .
 .It Sy "missing Os macro, using \(dq\(dq"  .It Sy "missing Os macro, using \(dq\(dq"
 .Pq mdoc  .Pq mdoc
 The default or current system is not shown in this case.  The default or current system is not shown in this case.
 .It Sy "duplicate prologue macro"  
 .Pq mdoc  
 One of the prologue macros occurs more than once.  
 The last instance overrides all previous ones.  
 .It Sy "late prologue macro"  .It Sy "late prologue macro"
 .Pq mdoc  .Pq mdoc
 A  A
Line 826  A
Line 1043  A
 or  or
 .Ic \&Os  .Ic \&Os
 macro occurs after some non-prologue macro, but still takes effect.  macro occurs after some non-prologue macro, but still takes effect.
 .It Sy "skipping late title macro"  
 .Pq mdoc  
 The  
 .Ic \&Dt  
 macro appears after the first non-prologue macro.  
 Traditional formatters cannot handle this because  
 they write the page header before parsing the document body.  
 Even though this technical restriction does not apply to  
 .Nm ,  
 traditional semantics is preserved.  
 The late macro is discarded including its arguments.  
 .It Sy "prologue macros out of order"  .It Sy "prologue macros out of order"
 .Pq mdoc  .Pq mdoc
 The prologue macros are not given in the conventional order  The prologue macros are not given in the conventional order
Line 908  The
Line 1114  The
 .Ic \&Nd  .Ic \&Nd
 macro lacks the required argument.  macro lacks the required argument.
 The title line of the manual will end after the dash.  The title line of the manual will end after the dash.
   .It Sy "description line outside NAME section"
   .Pq mdoc
   An
   .Ic \&Nd
   macro appears outside the NAME section.
   The arguments are printed anyway and the following text is used for
   .Xr apropos 1 ,
   but none of that behaviour is portable.
 .It Sy "sections out of conventional order"  .It Sy "sections out of conventional order"
 .Pq mdoc  .Pq mdoc
 A standard section occurs after another section it usually precedes.  A standard section occurs after another section it usually precedes.
Line 920  The same standard section title occurs more than once.
Line 1134  The same standard section title occurs more than once.
 .Pq mdoc  .Pq mdoc
 A standard section header occurs in a section of the manual  A standard section header occurs in a section of the manual
 where it normally isn't useful.  where it normally isn't useful.
   .It Sy "cross reference to self"
   .Pq mdoc
   An
   .Ic \&Xr
   macro refers to a name and section matching the section of the present
   manual page and a name mentioned in an
   .Ic \&Nm
   macro in the NAME or SYNOPSIS section, or in an
   .Ic \&Fn
   or
   .Ic \&Fo
   macro in the SYNOPSIS.
   Consider using
   .Ic \&Nm
   or
   .Ic \&Fn
   instead of
   .Ic \&Xr .
 .It Sy "unusual Xr order"  .It Sy "unusual Xr order"
 .Pq mdoc  .Pq mdoc
 In the SEE ALSO section, an  In the SEE ALSO section, an
Line 1006  The paragraph macro is moved after the end of the list
Line 1238  The paragraph macro is moved after the end of the list
 .Pq mdoc  .Pq mdoc
 An input line begins with an  An input line begins with an
 .Ic \&Ns  .Ic \&Ns
 macro.  macro, or the next argument after an
   .Ic \&Ns
   macro is an isolated closing delimiter.
 The macro is ignored.  The macro is ignored.
 .It Sy "blocks badly nested"  .It Sy "blocks badly nested"
 .Pq mdoc  .Pq mdoc
Line 1047  list block contains text or macros before the first
Line 1281  list block contains text or macros before the first
 .Ic \&It  .Ic \&It
 macro.  macro.
 The offending children are moved before the beginning of the list.  The offending children are moved before the beginning of the list.
 .It Sy "fill mode already enabled, skipping"  .It Sy "first macro on line"
 .Pq man  Inside a
 A  .Ic \&Bl Fl column
 .Ic \&fi  list, a
 request occurs even though the document is still in fill mode,  .Ic \&Ta
 or already switched back to fill mode.  macro occurs as the first macro on a line, which is not portable.
 It has no effect.  
 .It Sy "fill mode already disabled, skipping"  
 .Pq man  
 An  
 .Ic \&nf  
 request occurs even though the document already switched to no-fill mode  
 and did not switch back to fill mode yet.  
 It has no effect.  
 .It Sy "line scope broken"  .It Sy "line scope broken"
 .Pq man  .Pq man
 While parsing the next-line scope of the previous macro,  While parsing the next-line scope of the previous macro,
Line 1114  A
Line 1340  A
 .Ic \&Bl ,  .Ic \&Bl ,
 .Ic \&D1 ,  .Ic \&D1 ,
 .Ic \&Dl ,  .Ic \&Dl ,
   .Ic \&MT ,
 .Ic \&RS ,  .Ic \&RS ,
 or  or
 .Ic \&UR  .Ic \&UR
Line 1126  or
Line 1353  or
 .Ic \&Bl  .Ic \&Bl
 .Fl offset  .Fl offset
 or  or
 .Fl width.  .Fl width .
 .It Sy "missing display type, using -ragged"  .It Sy "missing display type, using -ragged"
 .Pq mdoc  .Pq mdoc
 The  The
Line 1191  list, an
Line 1418  list, an
 .Ic \&It  .Ic \&It
 block is empty.  block is empty.
 An empty list item is shown.  An empty list item is shown.
   .It Sy "missing argument, using next line"
   .Pq mdoc
   An
   .Ic \&It
   macro in a
   .Ic \&Bd Fl column
   list has no arguments.
   While
   .Nm
   uses the text or macros of the following line, if any, for the cell,
   other formatters may misformat the list.
 .It Sy "missing font type, using \efR"  .It Sy "missing font type, using \efR"
 .Pq mdoc  .Pq mdoc
 A  A
Line 1249  An empty pair of square brackets is shown.
Line 1487  An empty pair of square brackets is shown.
 .It Sy "missing resource identifier, using \(dq\(dq"  .It Sy "missing resource identifier, using \(dq\(dq"
 .Pq man  .Pq man
 The  The
   .Ic \&MT
   or
 .Ic \&UR  .Ic \&UR
 macro is invoked without any argument.  macro is invoked without any argument.
 An empty pair of angle brackets is shown.  An empty pair of angle brackets is shown.
Line 1260  An empty box is inserted.
Line 1500  An empty box is inserted.
 .El  .El
 .Ss "Warnings related to bad macro arguments"  .Ss "Warnings related to bad macro arguments"
 .Bl -ohang  .Bl -ohang
 .It Sy "unterminated quoted argument"  
 .Pq roff  
 Macro arguments can be enclosed in double quote characters  
 such that space characters and macro names contained in the quoted  
 argument need not be escaped.  
 The closing quote of the last argument of a macro can be omitted.  
 However, omitting it is not recommended because it makes the code  
 harder to read.  
 .It Sy "duplicate argument"  .It Sy "duplicate argument"
 .Pq mdoc  .Pq mdoc
 A  A
Line 1348  or
Line 1580  or
 .Ic \&Fn  .Ic \&Fn
 macro contains an opening or closing parenthesis; that's probably wrong,  macro contains an opening or closing parenthesis; that's probably wrong,
 parentheses are added automatically.  parentheses are added automatically.
   .It Sy "unknown library name"
   .Pq mdoc, not on Ox
   An
   .Ic \&Lb
   macro has an unknown name argument and will be rendered as
   .Qq library Dq Ar name .
 .It Sy "invalid content in Rs block"  .It Sy "invalid content in Rs block"
 .Pq mdoc  .Pq mdoc
 An  An
Line 1403  As an implementation dependent choice, tab characters 
Line 1641  As an implementation dependent choice, tab characters 
 are passed through to the formatters in any case.  are passed through to the formatters in any case.
 Given that the text before the tab character will be filled,  Given that the text before the tab character will be filled,
 it is hard to predict which tab stop position the tab will advance to.  it is hard to predict which tab stop position the tab will advance to.
 .It Sy "whitespace at end of input line"  
 .Pq mdoc , man , roff  
 Whitespace at the end of input lines is almost never semantically  
 significant \(em but in the odd case where it might be, it is  
 extremely confusing when reviewing and maintaining documents.  
 .It Sy "new sentence, new line"  .It Sy "new sentence, new line"
 .Pq mdoc  .Pq mdoc
 A new sentence starts in the middle of a text line.  A new sentence starts in the middle of a text line.
 Start it on a new input line to help formatters produce correct spacing.  Start it on a new input line to help formatters produce correct spacing.
 .It Sy "bad comment style"  
 .Pq roff  
 Comment lines start with a dot, a backslash, and a double-quote character.  
 The  
 .Nm  
 utility treats the line as a comment line even without the backslash,  
 but leaving out the backslash might not be portable.  
 .It Sy "invalid escape sequence"  .It Sy "invalid escape sequence"
 .Pq roff  .Pq roff
 An escape sequence has an invalid opening argument delimiter, lacks the  An escape sequence has an invalid opening argument delimiter, lacks the
Line 1525  and any remaining cells stay empty.
Line 1751  and any remaining cells stay empty.
 .El  .El
 .Ss "Errors related to roff, mdoc, and man code"  .Ss "Errors related to roff, mdoc, and man code"
 .Bl -ohang  .Bl -ohang
   .It Sy "duplicate prologue macro"
   .Pq mdoc
   One of the prologue macros occurs more than once.
   The last instance overrides all previous ones.
   .It Sy "skipping late title macro"
   .Pq mdoc
   The
   .Ic \&Dt
   macro appears after the first non-prologue macro.
   Traditional formatters cannot handle this because
   they write the page header before parsing the document body.
   Even though this technical restriction does not apply to
   .Nm ,
   traditional semantics is preserved.
   The late macro is discarded including its arguments.
 .It Sy "input stack limit exceeded, infinite loop?"  .It Sy "input stack limit exceeded, infinite loop?"
 .Pq roff  .Pq roff
 Explicit recursion limits are implemented for the following features,  Explicit recursion limits are implemented for the following features,
Line 1595  An
Line 1836  An
 .Xr mdoc 7  .Xr mdoc 7
 block closing macro, a  block closing macro, a
 .Xr man 7  .Xr man 7
 .Ic \&RE  .Ic \&ME , \&RE
 or  or
 .Ic \&UE  .Ic \&UE
 macro, an  macro, an
Line 1629  At the end of the document, an explicit
Line 1870  At the end of the document, an explicit
 block, a  block, a
 .Xr man 7  .Xr man 7
 next-line scope or  next-line scope or
 .Ic \&RS  .Ic \&MT , \&RS
 or  or
 .Ic \&UR  .Ic \&UR
 block, an equation, table, or  block, an equation, table, or
Line 1695  whatever mode was active before the block.
Line 1936  whatever mode was active before the block.
 A  A
 .Ic \&Bl  .Ic \&Bl
 macro fails to specify the list type.  macro fails to specify the list type.
   .It Sy "argument is not numeric, using 1"
   .Pq roff
   The argument of a
   .Ic \&ce
   request is not a number.
 .It Sy "missing manual name, using \(dq\(dq"  .It Sy "missing manual name, using \(dq\(dq"
 .Pq mdoc  .Pq mdoc
 The first call to  The first call to
Line 1796  A macro or request is invoked with too many arguments:
Line 2042  A macro or request is invoked with too many arguments:
 .Bl -dash -offset 2n -width 2n -compact  .Bl -dash -offset 2n -width 2n -compact
 .It  .It
 .Ic \&Fo ,  .Ic \&Fo ,
   .Ic \&MT ,
 .Ic \&PD ,  .Ic \&PD ,
 .Ic \&RS ,  .Ic \&RS ,
 .Ic \&UR ,  .Ic \&UR ,

Legend:
Removed from v.1.176  
changed lines
  Added in v.1.215

CVSweb