=================================================================== RCS file: /cvs/mandoc/Attic/mdocterm.1,v retrieving revision 1.7 retrieving revision 1.24 diff -u -p -r1.7 -r1.24 --- mandoc/Attic/mdocterm.1 2009/02/27 09:14:02 1.7 +++ mandoc/Attic/mdocterm.1 2009/03/16 23:37:28 1.24 @@ -1,6 +1,6 @@ -.\" $Id: mdocterm.1,v 1.7 2009/02/27 09:14:02 kristaps Exp $ +.\" $Id: mdocterm.1,v 1.24 2009/03/16 23:37:28 kristaps Exp $ .\" -.\" Copyright (c) 2009 Kristaps Dzonsons +.\" Copyright (c) 2009 Kristaps Dzonsons .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the @@ -16,19 +16,29 @@ .\" TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: February 27 2009 $ -.Dt mdocmterm 1 +.Dd $Mdocdate: March 16 2009 $ +.Dt mdocterm 1 .Os .\" SECTION .Sh NAME -.Nm mdocmterm +.Nm mdocterm .Nd mdoc macro compiler .\" SECTION .Sh SYNOPSIS -.Nm mdocmterm -.Op Fl v +.Nm mdocterm +.Op Fl vV +.Op Fl f Ns Ar option... +.Op Fl O Ns Ar option... .Op Fl W Ns Ar err... .Op Ar infile +.Nm mdocterm +.Op Fl hi +.Op Fl m Ns Ar name +.Op Fl n Ns Ar num +.Op Fl o Ns Ar list +.Op Fl r Ns Ar cn +.Op Fl T Ns Ar name +.Op Ar infile .\" SECTION .Sh DESCRIPTION The @@ -36,11 +46,24 @@ The utility formats a BSD .Dq mdoc manual page for display on the terminal. The arguments are as follows: -.Bl -tag -width "\-Werr... " +.Bl -tag -width XXXXXXXXXXXX .\" ITEM .It Fl v Print verbose parsing output. .\" ITEM +.It Fl v +Print version and exit. +.\" ITEM +.It Fl f Ns Ar option... +Override default compiler behaviour. See +.Sx Compiler Options +for details. +.\" ITEM +.It Fl O Ns Ar option... +Front-end options. See +.Sx Front-end Options +for details. +.\" ITEM .It Fl W Ns Ar err... Print warning messages. May be set to .Fl W Ns Ar all @@ -65,6 +88,15 @@ for stdin. .El .\" PARAGRAPH .Pp +If +.Xr nroff 1 +arguments are supplied on the command line +.Pq Fl himnorT , +these are ignored unless +.Xr nroff 1 +is invoked on parse failure. +.\" PARAGRAPH +.Pp The .Nm utility is a formatting front-end for @@ -75,147 +107,95 @@ input, documented at .Xr mdoc 7 and .Xr mdoc.samples 7 , -into an abstract syntax tree. +into an abstract syntax tree. .\" PARAGRAPH .Pp -By default, -.Nm -reads from stdin and prints terminal-encoded output to stdout. +By default, +.Nm +reads from stdin and prints nroff +.Qq backspace +terminal-encoded output to stdout, at this time to a fixed column with +of 78 characters. If +.Ar infile +can't be parsed (isn't valid mdoc, doesn't contain valid syntax, etc.), +.Xr nroff 1 +is invoked. If no +.Xr nroff 1 +command-line argumnets aren't provided, +.Fl m Ar Ns andoc +is implied. .\" PARAGRAPH .Pp -.Ex -std mdocmterm -.\" PARAGRAPH -.Pp -.Nm -is -.Ud +.Ex -std mdocterm .\" SUB-SECTION -.Ss Character Escapes -This section documents the character-escapes accepted by -.Xr mdocterm 1 . -Note that the \\x, \\(xx and \\[n] forms are described here; the \\*(xx -and \\*x forms described in -.Xr mdoc.samples 7 -are deprecated, but still correctly rendered. For all two-character -sequences, \\(xx is equivalent to the n-character \\[xx]. -.Pp -Note that the -.Em Output -column will render differently whether executed with -.Xr mdocterm 1 -or another output filter. -.\" PARAGRAPH -.Pp -Enclosures: -.Pp -.Bl -tag -width "OutputXXXX" -offset "XXXX" -compact -.It Em Output -.Em Input (Name) -.El -.Bl -tag -width "OutputXXXX" -offset "XXXX" -compact -.It \(rB -\\(rB (right bracket) -.It \(lB -\\(rB (left bracket) -.It \(lq -\\(lq (left double-quote) -.It \(rq -\\(rq (right double-quote) -.It \(oq -\\(lq (left single-quote) -.It \(aq -\\(aq (right single-quote, apostrophe) +.Ss Front-end Options +The default behaviour may be overriden with the +.Fl O +flag. The available options are as follows: +.Bl -tag -width XXXXXXXXXXXX -offset XXXX +.It Fl O Ns Ar nopunt +Don't punt to +.Xr nroff 1 +if +.Ar infile +may not be parsed. .El -.\" PARAGRAPH -.Pp -Indicatives: -.Pp -.Bl -tag -width "OutputXXXX" -offset "XXXX" -compact -.It Em Output -.Em Input (Name) -.El -.Bl -tag -width "OutputXXXX" -offset "XXXX" -compact -.It \(<- -\\(<- (left arrow) -.It \(-> -\\(-> (right arrow) -.It \(ua -\\(ua (up arrow) -.It \(da -\\(da (down arrow) +.\" SUB-SECTION +.Ss Compiler Options +Default compiler behaviour may be overriden with the +.Fl f +flag. The available options are as follows: +.Bl -tag -width XXXXXXXXXXXX -offset XXXX +.It Fl f Ns Ar ign-scope +When rewinding the scope of a block macro, forces the compiler to ignore +scope violations. This can seriously mangle the resulting tree. +.It Fl f Ns Ar ign-escape +Ignore invalid escape sequences. +.It Fl f Ns Ar ign-macro +Ignore unknown macros at the start of input lines. .El .\" PARAGRAPH .Pp -Mathematical: +As with the +.Fl W +flag, multiple +.Fl f +and +.Fl O +options may be grouped and delimited with a comma. Using +.Fl f Ns Ar ign-scope,ign-escape , +for example, will try to ignore scope and character-escape errors. +.\" SUB-SECTION +.Ss Character Escapes +The +.Nm +utility correctly renders all +.Sx Special Characters +in +.Xr mdoc 7 +in 7-bit ASCII. .Pp -.Bl -tag -width "OutputXXXX" -offset "XXXX" -compact -.It Em Output -.Em Input (Name) -.El -.Bl -tag -width "OutputXXXX" -offset "XXXX" -compact -.It \(<= -\\(<= (less-than-equal) -.It \(>= -\\(>= (greater-than-equal) -.It \(== -\\(== (greater-than-equal) -.It \(!= -\\(!= (not equal) -.It \(if -\\(if (infinity) -.It \(na -\\(na (NaN)* -.It \(+- -\\(+- (plus-minus) -.El -.\" PARAGRAPH -.Pp -*This is a deviation from the standard, as NaN is usually rendered as -\\*(Na, which is a deprecated form. We introduce \\(na, which follows -the more general syntax. -.Pp -Diacritics: -.Pp -.Bl -tag -width "OutputXXXX" -offset "XXXX" -compact -.It Em Output -.Em Input (Name) -.El -.Bl -tag -width "OutputXXXX" -offset "XXXX" -compact -.It \(ga -\\(ga (accent grave) -.It \(aa -\\(aa (accent accute) -.El -.\" PARAGRAPH -.Pp -Special symbols: -.Pp -.Bl -tag -width "OutputXXXX" -offset "XXXX" -compact -.It Em Output -.Em Input (Name) -.El -.Bl -tag -width "OutputXXXX" -offset "XXXX" -compact -.It \(bu -\\(bu (bullet) -.It \(ba -\\(ba (bar) -.El +In the general sense, +.Nm +will make a +.Pq best-effort +to render complex characters; however, if a manual is using considerable +special characters, some meaning may be lost in translation. .\" SECTION .Sh EXAMPLES To display this manual page: .\" PARAGRAPH .Pp -.D1 % mdocmterm \-Wall,error mdocmterm.1 +.D1 % mdocterm \-Wall,error mdocterm.1 .\" PARAGRAPH .Pp To pipe a manual page to the pager: .Pp -.D1 % mdocterm mdocterm.1 | less -R +.D1 % mdocterm mdocterm.1 | less .\" SECTION .Sh SEE ALSO .Xr mdoctree 1 , .Xr mdoclint 1 , -.Xr mdoc.samples 7 , .Xr mdoc 7 , .Xr mdoc 3 .\" @@ -223,10 +203,33 @@ To pipe a manual page to the pager: The .Nm utility was written by -.An Kristaps Dzonsons Aq kristaps@kth.se . +.An Kristaps Dzonsons Aq kristaps@openbsd.org . .\" SECTION .Sh CAVEATS See .Xr mdoc 3 for a list of bugs, caveats, and incomplete macros regarding the document parse. +.Pp +The +.Nm +utility doesn't yet know how to display the following: +.Pp +.Bl -bullet -compact +.It +The \-hang +.Sq \&Bl +list is not yet supported. +.It +The \-literal and \-unfilled +.Sq \&Bd +displays only accept text contents. +.It +The +.Sq \&Xo/Xc +pair isn't supported (and never will be). +.It +The +.Sq \&Sm +macro has no effect, yet. +.El