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

Diff for /mandoc/mandoc.1 between version 1.129 and 1.139

version 1.129, 2014/12/16 23:44:41 version 1.139, 2015/01/28 17:32:07
Line 1 
Line 1 
 .\"     $Id$  .\"     $Id$
 .\"  .\"
 .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>  .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
 .\" Copyright (c) 2012, 2014 Ingo Schwarze <schwarze@openbsd.org>  .\" Copyright (c) 2012, 2014, 2015 Ingo Schwarze <schwarze@openbsd.org>
 .\"  .\"
 .\" Permission to use, copy, modify, and distribute this software for any  .\" Permission to use, copy, modify, and distribute this software for any
 .\" purpose with or without fee is hereby granted, provided that the above  .\" purpose with or without fee is hereby granted, provided that the above
Line 85  Override the default operating system
Line 85  Override the default operating system
 for the  for the
 .Xr mdoc 7  .Xr mdoc 7
 .Sq \&Os  .Sq \&Os
   and for the
   .Xr man 7
   .Sq \&TH
 macro.  macro.
 .It Fl h  .It Fl h
 Display only the SYNOPSIS lines.  Display only the SYNOPSIS lines.
Line 159  can be
Line 162  can be
 .Cm warning ,  .Cm warning ,
 .Cm error ,  .Cm error ,
 or  or
 .Cm fatal .  .Cm unsupp ;
 The default is  .Cm all
 .Fl W Ns Cm fatal ;  
 .Fl W Ns Cm all  
 is an alias for  is an alias for
 .Fl W Ns Cm warning .  .Cm warning .
   By default,
   .Nm
   is silent.
 See  See
 .Sx EXIT STATUS  .Sx EXIT STATUS
 and  and
Line 529  At least one warning occurred, but no error, and
Line 533  At least one warning occurred, but no error, and
 .Fl W Ns Cm warning  .Fl W Ns Cm warning
 was specified.  was specified.
 .It 3  .It 3
 At least one parsing error occurred, but no fatal error, and  At least one parsing error occurred,
   but no unsupported feature was encountered, and
 .Fl W Ns Cm error  .Fl W Ns Cm error
 or  or
 .Fl W Ns Cm warning  .Fl W Ns Cm warning
 was specified.  was specified.
 .It 4  .It 4
 A fatal parsing error occurred.  At least one unsupported feature was encountered, and
   .Fl W Ns Cm unsupp ,
   .Fl W Ns Cm error
   or
   .Fl W Ns Cm warning
   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.
 .It 6  .It 6
 An operating system error occurred, for example memory exhaustion or an  An operating system error occurred, for example exhaustion
 error accessing input files.  of memory, file descriptors, or process table entries.
 Such errors cause  Such errors cause
 .Nm  .Nm
 to exit at once, possibly in the middle of parsing or formatting a file.  to exit at once, possibly in the middle of parsing or formatting a file.
Line 600  fields.
Line 610  fields.
 .Pp  .Pp
 Message levels have the following meanings:  Message levels have the following meanings:
 .Bl -tag -width "warning"  .Bl -tag -width "warning"
 .It Cm syserr  .It Cm unsupp
 Opening or reading an input file failed, so the parser cannot  An input file uses unsupported low-level
 even be started and no output is produced from that input file.  .Xr roff 7
 .It Cm fatal  features.
 The parser is unable to parse a given input file at all.  The output may be incomplete and/or misformatted,
 No formatted output is produced from that input file.  so using GNU troff instead of
 .It Cm error  
 An input file contains syntax that cannot be safely interpreted,  
 either because it is invalid or because  
 .Nm  .Nm
 does not implement it yet.  to process the file may be preferable.
   .It Cm error
   An input file contains invalid syntax that cannot be safely interpreted.
 By discarding part of the input or inserting missing tokens,  By discarding part of the input or inserting missing tokens,
 the parser is able to continue, and the error does not prevent  the parser is able to continue, and the error does not prevent
 generation of formatted output, but typically, preparing that  generation of formatted output, but typically, preparing that
 output involves information loss, broken document structure  output involves information loss, broken document structure
 or unintended formatting.  or unintended formatting, no matter whether
   .Nm
   or GNU troff is used.
   In many cases, the output of
   .Nm
   and GNU troff is identical, but in some,
   .Nm
   is more resilient than GNU troff with respect to malformed input.
   .Pp
   Non-existent or unreadable input files are also reported on the
   .Cm error
   level.
   In that case, the parser cannot even be started and no output
   is produced from those input files.
 .It Cm warning  .It Cm warning
 An input file uses obsolete, discouraged or non-portable syntax.  An input file uses obsolete, discouraged or non-portable syntax.
 All the same, the meaning of the input is unambiguous and a correct  All the same, the meaning of the input is unambiguous and a correct
Line 626  formatting tools instead of
Line 648  formatting tools instead of
 .El  .El
 .Pp  .Pp
 Messages of the  Messages of the
 .Cm warning  .Cm warning ,
   .Cm error ,
 and  and
 .Cm error  .Cm unsupp
 levels are hidden unless their level, or a lower level, is requested using a  levels except those about non-existent or unreadable input files
   are hidden unless their level, or a lower level, is requested using a
 .Fl W  .Fl W
 option or  option or
 .Fl T Ns Cm lint  .Fl T Ns Cm lint
Line 1249  its value is implicitly set to the empty string.
Line 1273  its value is implicitly set to the empty string.
 However, defining strings explicitly before use  However, defining strings explicitly before use
 keeps the code more readable.  keeps the code more readable.
 .El  .El
   .Ss "Warnings related to tables"
   .Bl -ohang
   .It Sy "tbl line starts with span"
   .Pq tbl
   The first cell in a table layout line is a horizontal span
   .Pq Sq Cm s .
   Data provided for this cell is ignored, and nothing is printed in the cell.
   .It Sy "tbl column starts with span"
   .Pq tbl
   The first line of a table layout specification
   requests a vertical span
   .Pq Sq Cm ^ .
   Data provided for this cell is ignored, and nothing is printed in the cell.
   .It Sy "skipping vertical bar in tbl layout"
   .Pq tbl
   A table layout specification contains more than two consecutive vertical bars.
   A double bar is printed, all additional bars are discarded.
   .El
 .Ss "Errors related to equations"  .Ss "Errors related to equations"
 .Bl -inset -compact  .Bl -inset -compact
 .It "unexpected equation scope closure"  .It "unexpected equation scope closure"
Line 1257  keeps the code more readable.
Line 1299  keeps the code more readable.
 .It "unexpected end of equation"  .It "unexpected end of equation"
 .El  .El
 .Ss "Errors related to tables"  .Ss "Errors related to tables"
 .Bl -inset -compact  .Bl -ohang
 .It "bad table syntax"  .It Sy "non-alphabetic character in tbl options"
 .It "bad table option"  .Pq tbl
 .It "bad table layout"  The table options line contains a character other than a letter,
 .It "no table layout cells specified"  blank, or comma where the beginning of an option name is expected.
 .It "no table data cells specified"  The character is ignored.
 .It "ignore data in cell"  .It Sy "skipping unknown tbl option"
 .It "data block still open"  .Pq tbl
 .It "ignoring extra data cells"  The table options line contains a string of letters that does not
 .It "ignoring macro in table"  match any known option name.
   The word is ignored.
   .It Sy "missing tbl option argument"
   .Pq tbl
   A table option that requires an argument is not followed by an
   opening parenthesis, or the opening parenthesis is immediately
   followed by a closing parenthesis.
   The option is ignored.
   .It Sy "wrong tbl option argument size"
   .Pq tbl
   A table option argument contains an invalid number of characters.
   Both the option and the argument are ignored.
   .It Sy "empty tbl layout"
   .Pq tbl
   A table layout specification is completely empty,
   specifying zero lines and zero columns.
   As a fallback, a single left-justified column is used.
   .It Sy "invalid character in tbl layout"
   .Pq tbl
   A table layout specification contains a character that can neither
   be interpreted as a layout key character nor as a layout modifier,
   or a modifier precedes the first key.
   The invalid character is discarded.
   .It Sy "unmatched parenthesis in tbl layout"
   .Pq tbl
   A table layout specification contains an opening parenthesis,
   but no matching closing parenthesis.
   The rest of the input line, starting from the parenthesis, has no effect.
   .It Sy "tbl without any data cells"
   .Pq tbl
   A table does not contain any data cells.
   It will probably produce no output.
   .It Sy "ignoring data in spanned tbl cell"
   .Pq tbl
   A table cell is marked as a horizontal span
   .Pq Sq Cm s
   or vertical span
   .Pq Sq Cm ^
   in the table layout, but it contains data.
   The data is ignored.
   .It Sy "ignoring extra tbl data cells"
   .Pq tbl
   A data line contains more cells than the corresponding layout line.
   The data in the extra cells is ignored.
   .It Sy "data block open at end of tbl"
   .Pq tbl
   A data block is opened with
   .Cm T{ ,
   but never closed with a matching
   .Cm T} .
   The remaining data lines of the table are all put into one cell,
   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
Line 1308  or
Line 1401  or
 macro.  macro.
 It may be mistyped or unsupported.  It may be mistyped or unsupported.
 The request or macro is discarded including its arguments.  The request or macro is discarded including its arguments.
   .It Sy "skipping insecure request"
   .Pq roff
   An input file attempted to run a shell command
   or to read or write an external file.
   Such attempts are denied for security reasons.
 .It Sy "skipping item outside list"  .It Sy "skipping item outside list"
 .Pq mdoc , eqn  .Pq mdoc , eqn
 An  An
Line 1344  right delimiter or closing brace, or the end of an equ
Line 1442  right delimiter or closing brace, or the end of an equ
 .Xr roff 7  .Xr roff 7
 conditional request is encountered but no matching block is open.  conditional request is encountered but no matching block is open.
 The offending request or macro is discarded.  The offending request or macro is discarded.
   .It Sy "fewer RS blocks open, skipping"
   .Pq man
   The
   .Ic \&RE
   macro is invoked with an argument, but less than the specified number of
   .Ic \&RS
   blocks is open.
   The
   .Ic \&RE
   macro is discarded.
 .It Sy "inserting missing end of block"  .It Sy "inserting missing end of block"
 .Pq mdoc , tbl  .Pq mdoc , tbl
 Various  Various
Line 1458  or
Line 1566  or
 .Ic \&gsize  .Ic \&gsize
 statement has a non-numeric or negative argument or no argument at all.  statement has a non-numeric or negative argument or no argument at all.
 The invalid request or statement is ignored.  The invalid request or statement is ignored.
   .It Sy "NOT IMPLEMENTED: .so with absolute path or \(dq..\(dq"
   .Pq roff
   For security reasons,
   .Nm
   allows
   .Ic \&so
   file inclusion requests only with relative paths
   and only without ascending to any parent directory.
   By requesting the inclusion of a sensitive file, a malicious document
   might otherwise trick a privileged user into inadvertently displaying
   the file on the screen, revealing the file content to bystanders.
   .Nm
   only shows the path as it appears behind
   .Ic \&so .
   .It Sy ".so request failed"
   .Pq roff
   Servicing a
   .Ic \&so
   request requires reading an external file, but the file could not be
   opened.
   .Nm
   only shows the path as it appears behind
   .Ic \&so .
 .It Sy "skipping all arguments"  .It Sy "skipping all arguments"
 .Pq mdoc , man , eqn , roff  .Pq mdoc , man , eqn , roff
 An  An
Line 1489  macro, or a
Line 1620  macro, or a
 block closing request is invoked with at least one argument.  block closing request is invoked with at least one argument.
 All arguments are ignored.  All arguments are ignored.
 .It Sy "skipping excess arguments"  .It Sy "skipping excess arguments"
 .Pq mdoc , roff  .Pq mdoc , man , roff
 The  The
 .Ic \&Bf  .Ic \&Bf
 macro is invoked with more than one argument, or a request of the  macro is invoked with more than one argument, the
   .Ic \&RE
   macro is invoked with more than one argument
   or with a non-integer argument, or a request of the
 .Ic \&de  .Ic \&de
 family is invoked with more than two arguments.  family is invoked with more than two arguments.
 The excess arguments are ignored.  The excess arguments are ignored.
 .El  .El
 .Ss FATAL errors  .Ss Unsupported features
 .Bl -ohang  .Bl -ohang
 .It Sy "input too large"  .It Sy "input too large"
 .Pq mdoc , man  .Pq mdoc , man
Line 1507  cannot handle input files larger than its arbitrary si
Line 1641  cannot handle input files larger than its arbitrary si
 of 2^31 bytes (2 Gigabytes).  of 2^31 bytes (2 Gigabytes).
 Since useful manuals are always small, this is not a problem in practice.  Since useful manuals are always small, this is not a problem in practice.
 Parsing is aborted as soon as the condition is detected.  Parsing is aborted as soon as the condition is detected.
 .It Sy "NOT IMPLEMENTED: .so with absolute path or \(dq..\(dq"  .It Sy "unsupported control character"
 .Pq roff  .Pq roff
 For security reasons,  An ASCII control character supported by other
   .Xr roff 7
   implementations but not by
 .Nm  .Nm
 allows  was found in an input file.
 .Ic \&so  It is replaced by a question mark.
 file inclusion requests only with relative paths  .It Sy "unsupported roff request"
 and only without ascending to any parent directory.  
 By requesting the inclusion of a sensitive file, a malicious document  
 might otherwise trick a privileged user into inadvertently displaying  
 the file on the screen, revealing the file content to bystanders.  
 The parser exits immediately.  
 .It Sy ".so request failed"  
 .Pq roff  .Pq roff
 Servicing a  An input file contains a
 .Ic \&so  .Xr roff 7
 request requires reading an external file.  request supported by GNU troff or Heirloom troff but not by
 While trying to do so, an  .Nm ,
 .Xr open 2 ,  and it is likely that this will cause information loss
 .Xr stat 2 ,  or considerable misformatting.
   .It Sy "eqn delim option in tbl"
   .Pq eqn , tbl
   The options line of a table defines equation delimiters.
   Any equation source code contained in the table will be printed unformatted.
   .It Sy "unsupported table layout modifier"
   .Pq tbl
   A table layout specification contains an
   .Sq Cm m
   modifier.
   The modifier is discarded.
   .It Sy "ignoring macro in table"
   .Pq tbl , mdoc , man
   A table contains an invocation of an
   .Xr mdoc 7
 or  or
 .Xr read 2  .Xr man 7
 system call failed.  macro or of an undefined macro.
 The parser exits immediately.  The macro is ignored, and its arguments are handled
 Before showing this message,  as if they were a text line.
 .Nm  
 always shows another message explaining why the system call failed.  
 .El  .El
 .Sh COMPATIBILITY  .Sh COMPATIBILITY
 This section summarises  This section summarises

Legend:
Removed from v.1.129  
changed lines
  Added in v.1.139

CVSweb