=================================================================== RCS file: /cvs/mandoc/mandoc.1,v retrieving revision 1.160 retrieving revision 1.167 diff -u -p -r1.160 -r1.167 --- mandoc/mandoc.1 2015/09/14 15:36:14 1.160 +++ mandoc/mandoc.1 2017/01/06 01:34:57 1.167 @@ -1,4 +1,4 @@ -.\" $Id: mandoc.1,v 1.160 2015/09/14 15:36:14 schwarze Exp $ +.\" $Id: mandoc.1,v 1.167 2017/01/06 01:34:57 schwarze Exp $ .\" .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons .\" Copyright (c) 2012, 2014, 2015 Ingo Schwarze @@ -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. .\" -.Dd $Mdocdate: September 14 2015 $ +.Dd $Mdocdate: January 6 2017 $ .Dt MANDOC 1 .Os .Sh NAME @@ -75,6 +75,10 @@ This overrides any earlier and .Fl l options. +.It Fl h +Display only the SYNOPSIS lines. +Implies +.Fl c . .It Fl I Cm os Ns = Ns Ar name Override the default operating system .Ar name @@ -85,10 +89,6 @@ and for the .Xr man 7 .Sq \&TH macro. -.It Fl h -Display only the SYNOPSIS lines. -Implies -.Fl c . .It Fl K Ar encoding Specify the input encoding. The supported @@ -284,6 +284,8 @@ See .Sx PostScript Output . .It Fl T Cm tree Produce an indented parse tree. +See +.Sx Syntax tree output . .It Fl T Cm utf8 Encode output in the UTF\-8 multi-byte format. See @@ -347,7 +349,7 @@ Equations rendered from blocks use MathML. .Pp The -.Pa example.style.css +.Pa mandoc.css file documents style-sheet classes available for customising output. If a style-sheet is not specified with .Fl O Cm style , @@ -490,6 +492,45 @@ to force a UTF\-8 locale. See .Sx Locale Output for details and options. +.Ss Syntax tree output +Use +.Fl T Cm tree +to show a human readable representation of the syntax tree. +It is useful for debugging the source code of manual pages. +The exact format is subject to change, so don't write parsers for it. +Each output line shows one syntax tree node. +Child nodes are indented with respect to their parent node. +The columns are: +.Pp +.Bl -enum -compact +.It +For macro nodes, the macro name; for text and +.Xr tbl 7 +nodes, the content. +There is a special format for +.Xr eqn 7 +nodes. +.It +Node type (text, elem, block, head, body, body-end, tail, tbl, eqn). +.It +Flags: +.Bl -dash -compact +.It +An opening parenthesis if the node is an opening delimiter. +.It +An asterisk if the node starts a new input line. +.It +The input line number (starting at one). +.It +A colon. +.It +The input column number (starting at one). +.It +A closing parenthesis if the node is a closing delimiter. +.It +A full stop if the node ends a sentence. +.El +.El .Sh ENVIRONMENT .Bl -tag -width MANPAGER .It Ev MANPAGER @@ -560,10 +601,10 @@ To page manuals to the terminal: .Dl $ mandoc mandoc.1 mdoc.3 mdoc.7 | less .Pp To produce HTML manuals with -.Ar style.css +.Pa mandoc.css as the style-sheet: .Pp -.Dl $ mandoc \-T html -O style=style.css mdoc.7 \*(Gt mdoc.7.html +.Dl $ mandoc \-T html -O style=mandoc.css mdoc.7 \*(Gt mdoc.7.html .Pp To check over a large set of manuals: .Pp @@ -1106,6 +1147,13 @@ macro is immediately followed by an .Ic \&Re macro on the next input line. Such an empty block does not produce any output. +.It Sy "missing section argument" +.Pq mdoc +An +.Ic \&Xr +macro lacks its second, section number argument. +The first argument, i.e. the name, is printed, but without subsequent +parentheses. .It Sy "missing -std argument, adding it" .Pq mdoc An @@ -1559,6 +1607,13 @@ By requesting the inclusion of a sensitive file, a mal might otherwise trick a privileged user into inadvertently displaying the file on the screen, revealing the file content to bystanders. The argument is ignored including the file name following it. +.It Sy "skipping display without arguments" +.Pq mdoc +A +.Ic \&Bd +block macro does not have any arguments. +The block is discarded, and the block content is displayed in +whatever mode was active before the block. .It Sy "missing list type, using -item" .Pq mdoc A