=================================================================== RCS file: /cvs/mandoc/Attic/mdocml.1,v retrieving revision 1.7 retrieving revision 1.29 diff -u -p -r1.7 -r1.29 --- mandoc/Attic/mdocml.1 2008/11/28 11:21:12 1.7 +++ mandoc/Attic/mdocml.1 2009/01/20 13:44:05 1.29 @@ -1,73 +1,77 @@ -.\" $OpenBSD: mdocml.1,v 1.7 2008/11/28 11:21:12 kristaps Exp $ .\" -.\" The following requests are required for all man pages. -.\" -.\" Remove `\&' from the line below. -.Dd $Mdocdate: November 28 2008 $ +.Dd $Mdocdate: January 20 2009 $ .Dt mdocml 1 .Os .\" .Sh NAME .Nm mdocml -.Nd compile manpage source into mark-up language +.Nd mdoc macro compiler .\" .Sh SYNOPSIS .Nm mdocml -.Op Fl vW -.Op Fl f Ar filter -.Op Fl o Ar outfile +.Op Fl v +.Op Fl W Ns Ar err... .Op Ar infile .\" .Sh DESCRIPTION The .Nm -utility parses -.Xr mdoc -formatted manual source and passes results into the output filter -dictated by -.Fl f Ar filter . -The only current output filter is -.Ar validate , -the default. The arguments are as follows: -.Bl -tag -width "\-o outfile" -.It Fl o Ar outfile -Place output in -.Ar outfile , -which may be -.Qq \- -for standard output. The default is standard output. +utility interfaces the +.Xr mdoc 3 +library to scan, parse and validate mdoc-macro documents. Arguments +follow: +.Bl -tag -width "\-Werr... " +.It Fl W Ns Ar err... +Print warning messages. May be set to +.Fl W Ns Ar all +for all warnings, +.Ar compat +for groff/troff-compatibility warnings, or +.Ar syntax +for syntax warnings. If +.Fl W Ns Ar error +is specified, warnings are considered errors and cause utility +termination. Multiple +.Fl W +arguments may be comma-separated, such as +.Fl W Ns Ar error,all . +.It Fl v +Print verbose parsing output. .It Ar infile Read input from .Ar infile , which may be -.Qq \- -for standard input. The default is standard input. -.It Fl v -Print messages (output depends on filter). -.It Fl W -Print warnings (output depends on filter). +.Dq \- +for stdin. .El -.Ss Validate Filter -The validate filter, specified by -.Fl f Ar validate , -is the default filter. It produces no output, so specifying -.Fl o Ar outfile -results in an empty file. -.\" The following requests should be uncommented and used where appropriate. -.\" This next request is for sections 2, 3, and 9 function return values only. -.\" .Sh RETURN VALUES -.\" This next request is for sections 1, 6, 7 & 8 only. -.\" .Sh ENVIRONMENT -.\" .Sh FILES -.\" .Sh EXAMPLES -.\" This next request is for sections 1, 4, 6, and 8 only. -.\" .Sh DIAGNOSTICS -.\" The next request is for sections 2, 3, and 9 error and signal handling only. -.\" .Sh ERRORS +.Pp +Parsing and validation rules are drawn entirely from the +.Xr mdoc 7 +and +.Xr mdoc.samples 7 +manuals. +.Pp +By default, +.Nm +reads from stdin, writes messages to stdout, and writes errors and +warnings to stderr. +.Pp +.Ex -std mdocml +.Pp +.Nm +is +.Ud +.\" +.Sh EXAMPLES +To validate this manual page: +.Pp +.D1 % mdocml \-Wall,error mdocml.1 +.\" .Sh SEE ALSO .Xr groff 1 , .Xr mdoc.samples 7 , -.Xr mdoc 7 +.Xr mdoc 7 , +.Xr mdoc 3 .\" .Sh STANDARDS .\" .Sh HISTORY .Sh AUTHORS @@ -77,24 +81,16 @@ utility was written by .An Kristaps Dzonsons Aq kristaps@kth.se . .\" .Sh CAVEATS -Most caveats of +The most glaring short-coming of .Nm -stem from ambiguities in -.Xr mdoc 7 -or the necessary limitations of converting an ad hoc language into -structured ones: -.Bl -enum -compact -offset indent -.It -The engine doesn't understand -.Sq \&Xo -and +is that it doesn't yet support the .Sq \&Xc -troff macros. -.It -All macro arguments may be quoted, instead of only some. -.It -Blank lines raise warnings. -.It -Non-ascii characters may cause issues. -.El +and +.Sq \&Xo +macros when used to extend the line arguments to +.Sq \&It ; +in effect, trampling the body section. We note that this is explicitly +discouraged in +.Xr mdoc.samples 7 , +but in practice used quite often. .\" .Sh BUGS