=================================================================== RCS file: /cvs/mandoc/mandoc.3,v retrieving revision 1.38 retrieving revision 1.43 diff -u -p -r1.38 -r1.43 --- mandoc/mandoc.3 2017/01/09 01:37:03 1.38 +++ mandoc/mandoc.3 2018/12/14 01:18:25 1.43 @@ -1,4 +1,4 @@ -.\" $Id: mandoc.3,v 1.38 2017/01/09 01:37:03 schwarze Exp $ +.\" $Id: mandoc.3,v 1.43 2018/12/14 01:18:25 schwarze Exp $ .\" .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons .\" Copyright (c) 2010-2017 Ingo Schwarze @@ -15,30 +15,25 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: January 9 2017 $ +.Dd $Mdocdate: December 14 2018 $ .Dt MANDOC 3 .Os .Sh NAME .Nm mandoc , .Nm deroff , -.Nm mandocmsg , -.Nm man_mparse , .Nm man_validate , .Nm mdoc_validate , .Nm mparse_alloc , +.Nm mparse_copy , .Nm mparse_free , -.Nm mparse_getkeep , -.Nm mparse_keep , .Nm mparse_open , .Nm mparse_readfd , .Nm mparse_reset , -.Nm mparse_result , -.Nm mparse_strerror , -.Nm mparse_strlevel , -.Nm mparse_updaterc +.Nm mparse_result .Nd mandoc macro compiler library .Sh SYNOPSIS .In sys/types.h +.In stdio.h .In mandoc.h .Pp .Fd "#define ASCII_NBRSP" @@ -47,37 +42,23 @@ .Ft struct mparse * .Fo mparse_alloc .Fa "int options" -.Fa "enum mandoclevel wlevel" -.Fa "mandocmsg mmsg" -.Fa "char *defos" +.Fa "enum mandoc_os oe_e" +.Fa "char *os_s" .Fc .Ft void -.Fo (*mandocmsg) -.Fa "enum mandocerr errtype" -.Fa "enum mandoclevel level" -.Fa "const char *file" -.Fa "int line" -.Fa "int col" -.Fa "const char *msg" -.Fc -.Ft void .Fo mparse_free .Fa "struct mparse *parse" .Fc -.Ft const char * -.Fo mparse_getkeep +.Ft void +.Fo mparse_copy .Fa "const struct mparse *parse" .Fc -.Ft void -.Fo mparse_keep -.Fa "struct mparse *parse" -.Fc .Ft int .Fo mparse_open .Fa "struct mparse *parse" .Fa "const char *fname" .Fc -.Ft "enum mandoclevel" +.Ft void .Fo mparse_readfd .Fa "struct mparse *parse" .Fa "int fd" @@ -93,19 +74,6 @@ .Fa "struct roff_man **man" .Fa "char **sodest" .Fc -.Ft "const char *" -.Fo mparse_strerror -.Fa "enum mandocerr" -.Fc -.Ft "const char *" -.Fo mparse_strlevel -.Fa "enum mandoclevel" -.Fc -.Ft void -.Fo mparse_updaterc -.Fa "struct mparse *parse" -.Fa "enum mandoclevel *rc" -.Fc .In roff.h .Ft void .Fo deroff @@ -125,10 +93,6 @@ .In mandoc.h .In man.h .Vt extern const char * const * man_macronames; -.Ft "const struct mparse *" -.Fo man_mparse -.Fa "const struct roff_man *man" -.Fc .Ft void .Fo man_validate .Fa "struct roff_man *man" @@ -231,9 +195,6 @@ and freed with This may be used across parsed input if .Fn mparse_reset is called between parses. -.It Vt "mandocmsg" -A prototype for a function to handle error and warning -messages emitted by the parser. .El .Ss Functions .Bl -ohang @@ -249,12 +210,6 @@ When it is no longer needed, the pointer returned from .Fn deroff can be passed to .Xr free 3 . -.It Fn man_mparse -Get the parser used for the current output. -Declared in -.In man.h , -implemented in -.Pa man.c . .It Fn man_validate Validate the .Dv MACROSET_MAN @@ -304,25 +259,19 @@ This is for example useful in .Xr makewhatis 8 .Fl Q to quickly build minimal databases. -.It Ar wlevel -Can be set to -.Dv MANDOCLEVEL_BADARG , -.Dv MANDOCLEVEL_ERROR , +.It Ar os_e +Operating system to check base system conventions for. +If +.Dv MANDOC_OS_OTHER , +the system is automatically detected from +.Ic \&Os , +.Fl Ios , or -.Dv MANDOCLEVEL_WARNING . -Messages below the selected level will be suppressed. -.It Ar mmsg -A callback function to handle errors and warnings. -See -.Pa main.c -for an example. -If printing of error messages is not desired, -.Dv NULL -may be passed. -.It Ar defos +.Xr uname 3 . +.It Ar os_s A default string for the .Xr mdoc 7 -.Sq \&Os +.Ic \&Os macro, overriding the .Dv OSNAME preprocessor definition and the results of @@ -348,23 +297,13 @@ Declared in .In mandoc.h , implemented in .Pa read.c . -.It Fn mparse_getkeep -Acquire the keep buffer. -Must follow a call of -.Fn mparse_keep . +.It Fn mparse_copy +Dump a copy of the input to the standard output; used for +.Fl man T Ns Cm man . Declared in .In mandoc.h , implemented in .Pa read.c . -.It Fn mparse_keep -Instruct the parser to retain a copy of its parsed input. -This can be acquired with subsequent -.Fn mparse_getkeep -calls. -Declared in -.In mandoc.h , -implemented in -.Pa read.c . .It Fn mparse_open Open the file for reading. If that fails and @@ -413,34 +352,6 @@ Declared in .In mandoc.h , implemented in .Pa read.c . -.It Fn mparse_strerror -Return a statically-allocated string representation of an error code. -Declared in -.In mandoc.h , -implemented in -.Pa read.c . -.It Fn mparse_strlevel -Return a statically-allocated string representation of a level code. -Declared in -.In mandoc.h , -implemented in -.Pa read.c . -.It Fn mparse_updaterc -If the highest warning or error level that occurred during the current -.Fa parse -is higher than -.Pf * Fa rc , -update -.Pf * Fa rc -accordingly. -This is useful after calling -.Fn mdoc_validate -or -.Fn man_validate . -Declared in -.In mandoc.h , -implemented in -.Pa read.c . .El .Ss Variables .Bl -ohang @@ -650,10 +561,10 @@ TEXT end .Ed .Pp Here, the formatting of the -.Sq \&Ao +.Ic \&Ao block extends from TEXT ao to TEXT ac, while the formatting of the -.Sq \&Bo +.Ic \&Bo block extends from TEXT bo to TEXT bc. It renders as follows in .Fl T Ns Cm ascii @@ -669,11 +580,9 @@ Using badly-nested blocks is .Em strongly discouraged ; for example, the .Fl T Ns Cm html -and -.Fl T Ns Cm xhtml -front-ends to +front-end to .Xr mandoc 1 -are unable to render them in any meaningful way. +is unable to render them in any meaningful way. Furthermore, behaviour when encountering badly-nested blocks is not consistent across troff implementations, especially when using multiple levels of badly-nested blocks.