version 1.183, 2017/03/27 15:17:11 |
version 1.215, 2017/07/06 22:59:48 |
|
|
.Nd format manual pages |
.Nd format manual pages |
.Sh SYNOPSIS |
.Sh SYNOPSIS |
.Nm mandoc |
.Nm mandoc |
.Op Fl acfhkl |
.Op Fl ac |
.Op Fl I Cm os Ns = Ns Ar name |
.Op Fl I Cm os Ns = Ns Ar name |
.Op Fl K Ar encoding |
.Op Fl K Ar encoding |
.Op Fl mdoc | man |
.Op Fl mdoc | man |
.Op Fl O Ar option |
.Op Fl O Ar options |
.Op Fl T Ar output |
.Op Fl T Ar output |
.Op Fl W Ar level |
.Op Fl W Ar level |
.Op Ar |
.Op Ar |
|
|
With other arguments, |
With other arguments, |
.Fl m |
.Fl m |
is silently ignored. |
is silently ignored. |
.It Fl O Ar option |
.It Fl O Ar options |
Comma-separated output options. |
Comma-separated output options. |
.It Fl T Ar output |
.It Fl T Ar output |
Output format. |
Output format. |
Line 146 to be reported on the standard error output and to aff |
|
Line 146 to be reported on the standard error output and to aff |
|
The |
The |
.Ar level |
.Ar level |
can be |
can be |
|
.Cm base , |
|
.Cm style , |
.Cm warning , |
.Cm warning , |
.Cm error , |
.Cm error , |
or |
or |
.Cm unsupp ; |
.Cm unsupp . |
|
The |
|
.Cm base |
|
level automatically derives the operating system from the contents of the |
|
.Ic \&Os |
|
macro, from the |
|
.Fl Ios |
|
command line option, or from the |
|
.Xr uname 3 |
|
return value. |
|
The levels |
|
.Cm openbsd |
|
and |
|
.Cm netbsd |
|
are variants of |
|
.Cm base |
|
that bypass autodetection and request validation of base system |
|
conventions for a particular operating system. |
|
The level |
.Cm all |
.Cm all |
is an alias for |
is an alias for |
.Cm warning . |
.Cm base . |
By default, |
By default, |
.Nm |
.Nm |
is silent. |
is silent. |
|
|
.It Fl T Cm lint |
.It Fl T Cm lint |
Parse only: produce no output. |
Parse only: produce no output. |
Implies |
Implies |
.Fl W Cm warning . |
.Fl W Cm all . |
.It Fl T Cm locale |
.It Fl T Cm locale |
Encode output using the current locale. |
Encode output using the current locale. |
This is the default. |
This is the default. |
|
|
Encode output in the UTF\-8 multi-byte format. |
Encode output in the UTF\-8 multi-byte format. |
See |
See |
.Sx UTF\-8 Output . |
.Sx UTF\-8 Output . |
.It Fl T Cm xhtml |
|
This is a synonym for |
|
.Fl T Cm html . |
|
.El |
.El |
.Pp |
.Pp |
If multiple input files are specified, these will be processed by the |
If multiple input files are specified, these will be processed by the |
Line 298 Increasing this is not recommended; it may result in d |
|
Line 315 Increasing this is not recommended; it may result in d |
|
for example overfull lines or ugly line breaks. |
for example overfull lines or ugly line breaks. |
.It Cm width Ns = Ns Ar width |
.It Cm width Ns = Ns Ar width |
The output width is set to |
The output width is set to |
.Ar width , |
.Ar width . |
which will normalise to \(>=58. |
|
.El |
.El |
.Ss HTML Output |
.Ss HTML Output |
Output produced by |
Output produced by |
|
|
.Pp |
.Pp |
.Bl -tag -width Ds -compact |
.Bl -tag -width Ds -compact |
.It 0 |
.It 0 |
No warnings or errors occurred, or those that did were ignored because |
No base system convention violations, style suggestions, warnings, |
they were lower than the requested |
or errors occurred, or those that did were ignored because they |
|
were lower than the requested |
.Ar level . |
.Ar level . |
|
.It 1 |
|
At least one base system convention violation or style suggestion |
|
occurred, but no warning or error, and |
|
.Fl W Cm base |
|
or |
|
.Fl W Cm style |
|
was specified. |
.It 2 |
.It 2 |
At least one warning occurred, but no error, and |
At least one warning occurred, but no error, and |
.Fl W Cm warning |
.Fl W Cm warning |
was specified. |
or a lower |
|
.Ar level |
|
was requested. |
.It 3 |
.It 3 |
At least one parsing error occurred, |
At least one parsing error occurred, |
but no unsupported feature was encountered, and |
but no unsupported feature was encountered, and |
.Fl W Cm error |
.Fl W Cm error |
or |
or a lower |
.Fl W Cm warning |
.Ar level |
was specified. |
was requested. |
.It 4 |
.It 4 |
At least one unsupported feature was encountered, and |
At least one unsupported feature was encountered, and |
.Fl W Cm unsupp , |
.Fl W Cm unsupp |
.Fl W Cm error |
or a lower |
or |
.Ar level |
.Fl W Cm warning |
was requested. |
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. |
Line 629 to exit at once, possibly in the middle of parsing or |
|
Line 654 to exit at once, possibly in the middle of parsing or |
|
Note that selecting |
Note that selecting |
.Fl T Cm lint |
.Fl T Cm lint |
output mode implies |
output mode implies |
.Fl W Cm warning . |
.Fl W Cm all . |
.Sh EXAMPLES |
.Sh EXAMPLES |
To page manuals to the terminal: |
To page manuals to the terminal: |
.Pp |
.Pp |
.Dl $ mandoc \-W all,stop mandoc.1 2\*(Gt&1 | less |
.Dl $ mandoc -l mandoc.1 man.1 apropos.1 makewhatis.8 |
.Dl $ mandoc mandoc.1 mdoc.3 mdoc.7 | less |
|
.Pp |
.Pp |
To produce HTML manuals with |
To produce HTML manuals with |
.Pa mandoc.css |
.Pa mandoc.css |
|
|
Messages displayed by |
Messages displayed by |
.Nm |
.Nm |
follow this format: |
follow this format: |
|
.Bd -ragged -offset indent |
|
.Nm : |
|
.Ar file : Ns Ar line : Ns Ar column : level : message : macro args |
|
.Pq Ar os |
|
.Ed |
.Pp |
.Pp |
.D1 Nm Ns : Ar file : Ns Ar line : Ns Ar column : level : message : macro args |
|
.Pp |
|
Line and column numbers start at 1. |
Line and column numbers start at 1. |
Both are omitted for messages referring to an input file as a whole. |
Both are omitted for messages referring to an input file as a whole. |
Macro names and arguments are omitted where meaningless. |
Macro names and arguments are omitted where meaningless. |
|
The |
|
.Ar os |
|
operating system specifier is omitted for messages that are relevant |
|
for all operating systems. |
Fatal messages about invalid command line arguments |
Fatal messages about invalid command line arguments |
or operating system errors, for example when memory is exhausted, |
or operating system errors, for example when memory is exhausted, |
may also omit the |
may also omit the |
Line 714 rendering can be produced. |
|
Line 745 rendering can be produced. |
|
Documents causing warnings may render poorly when using other |
Documents causing warnings may render poorly when using other |
formatting tools instead of |
formatting tools instead of |
.Nm . |
.Nm . |
|
.It Cm style |
|
An input file uses dubious or discouraged style. |
|
This is not a complaint about the syntax, and probably neither |
|
formatting nor portability are in danger. |
|
While great care is taken to avoid false positives on the higher |
|
message levels, the |
|
.Cm style |
|
level tries to reduce the probability that issues go unnoticed, |
|
so it may occasionally issue bogus suggestions. |
|
Please use your good judgement to decide whether any particular |
|
.Cm style |
|
suggestion really justifies a change to the input file. |
|
.It Cm base |
|
A convertion used in the base system of a specific operating system |
|
is not adhered to. |
|
These are not markup mistakes, and neither the quality of formatting |
|
nor portability are in danger. |
|
Messages of the |
|
.Cm base |
|
level are printed with the more intuitive |
|
.Cm style |
|
.Ar level |
|
tag. |
.El |
.El |
.Pp |
.Pp |
Messages of the |
Messages of the |
|
.Cm base , |
|
.Cm style , |
.Cm warning , |
.Cm warning , |
.Cm error , |
.Cm error , |
and |
and |
Line 727 are hidden unless their level, or a lower level, is re |
|
Line 783 are hidden unless their level, or a lower level, is re |
|
option or |
option or |
.Fl T Cm lint |
.Fl T Cm lint |
output mode. |
output mode. |
|
.Pp |
|
As indicated below, all |
|
.Cm base |
|
and some |
|
.Cm style |
|
checks are only performed if a specific operating system name occurs |
|
in the arguments of the |
|
.Fl W |
|
command line option, of the |
|
.Ic \&Os |
|
macro, of the |
|
.Fl Ios |
|
command line option, or, if neither are present, in the return value |
|
of the |
|
.Xr uname 3 |
|
function. |
|
.Ss Conventions for base system manuals |
|
.Bl -ohang |
|
.It Sy "Mdocdate found" |
|
.Pq mdoc , Nx |
|
The |
|
.Ic \&Dd |
|
macro uses CVS |
|
.Ic Mdocdate |
|
keyword substitution, which is not supported by the |
|
.Nx |
|
base system. |
|
Consider using the conventional |
|
.Dq "Month dd, yyyy" |
|
format instead. |
|
.It Sy "Mdocdate missing" |
|
.Pq mdoc , Ox |
|
The |
|
.Ic \&Dd |
|
macro does not use CVS |
|
.Ic Mdocdate |
|
keyword substitution, but using it is conventionally expected in the |
|
.Ox |
|
base system. |
|
.It Sy "unknown architecture" |
|
.Pq mdoc , Ox , Nx |
|
The third argument of the |
|
.Ic \&Dt |
|
macro does not match any of the architectures this operating system |
|
is running on. |
|
.It Sy "operating system explicitly specified" |
|
.Pq mdoc , Ox , Nx |
|
The |
|
.Ic \&Os |
|
macro has an argument. |
|
In the base system, it is conventionally left blank. |
|
.It Sy "RCS id missing" |
|
.Pq Ox , Nx |
|
The manual page lacks the comment line with the RCS identifier |
|
generated by CVS |
|
.Ic OpenBSD |
|
or |
|
.Ic NetBSD |
|
keyword substitution as conventionally used in these operating systems. |
|
.It Sy "referenced manual not found" |
|
.Pq mdoc |
|
An |
|
.Ic \&Xr |
|
macro references a manual page that is not found in the base system. |
|
The path to look for base system manuals is configurable at compile |
|
time and defaults to |
|
.Pa /usr/share/man : /usr/X11R6/man . |
|
.El |
|
.Ss Style suggestions |
|
.Bl -ohang |
|
.It Sy "legacy man(7) date format" |
|
.Pq mdoc |
|
The |
|
.Ic \&Dd |
|
macro uses the legacy |
|
.Xr man 7 |
|
date format |
|
.Dq yyyy-dd-mm . |
|
Consider using the conventional |
|
.Xr mdoc 7 |
|
date format |
|
.Dq "Month dd, yyyy" |
|
instead. |
|
.It Sy "lower case character in document title" |
|
.Pq mdoc , man |
|
The title is still used as given in the |
|
.Ic \&Dt |
|
or |
|
.Ic \&TH |
|
macro. |
|
.It Sy "duplicate RCS id" |
|
A single manual page contains two copies of the RCS identifier for |
|
the same operating system. |
|
Consider deleting the later instance and moving the first one up |
|
to the top of the page. |
|
.It Sy "typo in section name" |
|
.Pq mdoc |
|
Fuzzy string matching revealed that the argument of an |
|
.Ic \&Sh |
|
macro is similar, but not identical to a standard section name. |
|
.It Sy "unterminated quoted argument" |
|
.Pq roff |
|
Macro arguments can be enclosed in double quote characters |
|
such that space characters and macro names contained in the quoted |
|
argument need not be escaped. |
|
The closing quote of the last argument of a macro can be omitted. |
|
However, omitting it is not recommended because it makes the code |
|
harder to read. |
|
.It Sy "useless macro" |
|
.Pq mdoc |
|
A |
|
.Ic \&Bt , |
|
.Ic \&Tn , |
|
or |
|
.Ic \&Ud |
|
macro was found. |
|
Simply delete it: it serves no useful purpose. |
|
.It Sy "consider using OS macro" |
|
.Pq mdoc |
|
A string was found in plain text or in a |
|
.Ic \&Bx |
|
macro that could be represented using |
|
.Ic \&Ox , |
|
.Ic \&Nx , |
|
.Ic \&Fx , |
|
or |
|
.Ic \&Dx . |
|
.It Sy "errnos out of order" |
|
.Pq mdoc, Nx |
|
The |
|
.Ic \&Er |
|
items in a |
|
.Ic \&Bl |
|
list are not in alphabetical order. |
|
.It Sy "duplicate errno" |
|
.Pq mdoc, Nx |
|
A |
|
.Ic \&Bl |
|
list contains two consecutive |
|
.Ic \&It |
|
entries describing the same |
|
.Ic \&Er |
|
number. |
|
.It Sy "trailing delimiter" |
|
.Pq mdoc |
|
The last argument of an |
|
.Ic \&Ex , \&Fo , \&Nd , \&Nm , \&Os , \&Sh , \&Ss , \&St , |
|
or |
|
.Ic \&Sx |
|
macro ends with a trailing delimiter. |
|
This is usually bad style and often indicates typos. |
|
Most likely, the delimiter can be removed. |
|
.It Sy "no blank before trailing delimiter" |
|
.Pq mdoc |
|
The last argument of a macro that supports trailing delimiter |
|
arguments is longer than one byte and ends with a trailing delimiter. |
|
Consider inserting a blank such that the delimiter becomes a separate |
|
argument, thus moving it out of the scope of the macro. |
|
.It Sy "fill mode already enabled, skipping" |
|
.Pq man |
|
A |
|
.Ic \&fi |
|
request occurs even though the document is still in fill mode, |
|
or already switched back to fill mode. |
|
It has no effect. |
|
.It Sy "fill mode already disabled, skipping" |
|
.Pq man |
|
An |
|
.Ic \&nf |
|
request occurs even though the document already switched to no-fill mode |
|
and did not switch back to fill mode yet. |
|
It has no effect. |
|
.It Sy "function name without markup" |
|
.Pq mdoc |
|
A word followed by an empty pair of parentheses occurs on a text line. |
|
Consider using an |
|
.Ic \&Fn |
|
or |
|
.Ic \&Xr |
|
macro. |
|
.It Sy "whitespace at end of input line" |
|
.Pq mdoc , man , roff |
|
Whitespace at the end of input lines is almost never semantically |
|
significant \(em but in the odd case where it might be, it is |
|
extremely confusing when reviewing and maintaining documents. |
|
.It Sy "bad comment style" |
|
.Pq roff |
|
Comment lines start with a dot, a backslash, and a double-quote character. |
|
The |
|
.Nm |
|
utility treats the line as a comment line even without the backslash, |
|
but leaving out the backslash might not be portable. |
|
.El |
.Ss Warnings related to the document prologue |
.Ss Warnings related to the document prologue |
.Bl -ohang |
.Bl -ohang |
.It Sy "missing manual title, using UNTITLED" |
.It Sy "missing manual title, using UNTITLED" |
Line 741 macro before the first non-prologue macro. |
|
Line 990 macro before the first non-prologue macro. |
|
There is no |
There is no |
.Ic \&TH |
.Ic \&TH |
macro, or it has no arguments. |
macro, or it has no arguments. |
.It Sy "lower case character in document title" |
|
.Pq mdoc , man |
|
The title is still used as given in the |
|
.Ic \&Dt |
|
or |
|
.Ic \&TH |
|
macro. |
|
.It Sy "missing manual section, using \(dq\(dq" |
.It Sy "missing manual section, using \(dq\(dq" |
.Pq mdoc , man |
.Pq mdoc , man |
A |
A |
Line 783 The date given in a |
|
Line 1025 The date given in a |
|
or |
or |
.Ic \&TH |
.Ic \&TH |
macro does not follow the conventional format. |
macro does not follow the conventional format. |
|
.It Sy "date in the future, using it anyway" |
|
.Pq mdoc , man |
|
The date given in a |
|
.Ic \&Dd |
|
or |
|
.Ic \&TH |
|
macro is more than a day ahead of the current system |
|
.Xr time 3 . |
.It Sy "missing Os macro, using \(dq\(dq" |
.It Sy "missing Os macro, using \(dq\(dq" |
.Pq mdoc |
.Pq mdoc |
The default or current system is not shown in this case. |
The default or current system is not shown in this case. |
.It Sy "duplicate prologue macro" |
|
.Pq mdoc |
|
One of the prologue macros occurs more than once. |
|
The last instance overrides all previous ones. |
|
.It Sy "late prologue macro" |
.It Sy "late prologue macro" |
.Pq mdoc |
.Pq mdoc |
A |
A |
|
|
or |
or |
.Ic \&Os |
.Ic \&Os |
macro occurs after some non-prologue macro, but still takes effect. |
macro occurs after some non-prologue macro, but still takes effect. |
.It Sy "skipping late title macro" |
|
.Pq mdoc |
|
The |
|
.Ic \&Dt |
|
macro appears after the first non-prologue macro. |
|
Traditional formatters cannot handle this because |
|
they write the page header before parsing the document body. |
|
Even though this technical restriction does not apply to |
|
.Nm , |
|
traditional semantics is preserved. |
|
The late macro is discarded including its arguments. |
|
.It Sy "prologue macros out of order" |
.It Sy "prologue macros out of order" |
.Pq mdoc |
.Pq mdoc |
The prologue macros are not given in the conventional order |
The prologue macros are not given in the conventional order |
Line 899 The same standard section title occurs more than once. |
|
Line 1134 The same standard section title occurs more than once. |
|
.Pq mdoc |
.Pq mdoc |
A standard section header occurs in a section of the manual |
A standard section header occurs in a section of the manual |
where it normally isn't useful. |
where it normally isn't useful. |
|
.It Sy "cross reference to self" |
|
.Pq mdoc |
|
An |
|
.Ic \&Xr |
|
macro refers to a name and section matching the section of the present |
|
manual page and a name mentioned in an |
|
.Ic \&Nm |
|
macro in the NAME or SYNOPSIS section, or in an |
|
.Ic \&Fn |
|
or |
|
.Ic \&Fo |
|
macro in the SYNOPSIS. |
|
Consider using |
|
.Ic \&Nm |
|
or |
|
.Ic \&Fn |
|
instead of |
|
.Ic \&Xr . |
.It Sy "unusual Xr order" |
.It Sy "unusual Xr order" |
.Pq mdoc |
.Pq mdoc |
In the SEE ALSO section, an |
In the SEE ALSO section, an |
Line 985 The paragraph macro is moved after the end of the list |
|
Line 1238 The paragraph macro is moved after the end of the list |
|
.Pq mdoc |
.Pq mdoc |
An input line begins with an |
An input line begins with an |
.Ic \&Ns |
.Ic \&Ns |
macro. |
macro, or the next argument after an |
|
.Ic \&Ns |
|
macro is an isolated closing delimiter. |
The macro is ignored. |
The macro is ignored. |
.It Sy "blocks badly nested" |
.It Sy "blocks badly nested" |
.Pq mdoc |
.Pq mdoc |
Line 1026 list block contains text or macros before the first |
|
Line 1281 list block contains text or macros before the first |
|
.Ic \&It |
.Ic \&It |
macro. |
macro. |
The offending children are moved before the beginning of the list. |
The offending children are moved before the beginning of the list. |
.It Sy "fill mode already enabled, skipping" |
.It Sy "first macro on line" |
.Pq man |
Inside a |
A |
.Ic \&Bl Fl column |
.Ic \&fi |
list, a |
request occurs even though the document is still in fill mode, |
.Ic \&Ta |
or already switched back to fill mode. |
macro occurs as the first macro on a line, which is not portable. |
It has no effect. |
|
.It Sy "fill mode already disabled, skipping" |
|
.Pq man |
|
An |
|
.Ic \&nf |
|
request occurs even though the document already switched to no-fill mode |
|
and did not switch back to fill mode yet. |
|
It has no effect. |
|
.It Sy "line scope broken" |
.It Sy "line scope broken" |
.Pq man |
.Pq man |
While parsing the next-line scope of the previous macro, |
While parsing the next-line scope of the previous macro, |
|
|
.Ic \&Bl , |
.Ic \&Bl , |
.Ic \&D1 , |
.Ic \&D1 , |
.Ic \&Dl , |
.Ic \&Dl , |
|
.Ic \&MT , |
.Ic \&RS , |
.Ic \&RS , |
or |
or |
.Ic \&UR |
.Ic \&UR |
|
|
.Ic \&Bl |
.Ic \&Bl |
.Fl offset |
.Fl offset |
or |
or |
.Fl width. |
.Fl width . |
.It Sy "missing display type, using -ragged" |
.It Sy "missing display type, using -ragged" |
.Pq mdoc |
.Pq mdoc |
The |
The |
|
|
.Ic \&It |
.Ic \&It |
block is empty. |
block is empty. |
An empty list item is shown. |
An empty list item is shown. |
|
.It Sy "missing argument, using next line" |
|
.Pq mdoc |
|
An |
|
.Ic \&It |
|
macro in a |
|
.Ic \&Bd Fl column |
|
list has no arguments. |
|
While |
|
.Nm |
|
uses the text or macros of the following line, if any, for the cell, |
|
other formatters may misformat the list. |
.It Sy "missing font type, using \efR" |
.It Sy "missing font type, using \efR" |
.Pq mdoc |
.Pq mdoc |
A |
A |
Line 1228 An empty pair of square brackets is shown. |
|
Line 1487 An empty pair of square brackets is shown. |
|
.It Sy "missing resource identifier, using \(dq\(dq" |
.It Sy "missing resource identifier, using \(dq\(dq" |
.Pq man |
.Pq man |
The |
The |
|
.Ic \&MT |
|
or |
.Ic \&UR |
.Ic \&UR |
macro is invoked without any argument. |
macro is invoked without any argument. |
An empty pair of angle brackets is shown. |
An empty pair of angle brackets is shown. |
Line 1239 An empty box is inserted. |
|
Line 1500 An empty box is inserted. |
|
.El |
.El |
.Ss "Warnings related to bad macro arguments" |
.Ss "Warnings related to bad macro arguments" |
.Bl -ohang |
.Bl -ohang |
.It Sy "unterminated quoted argument" |
|
.Pq roff |
|
Macro arguments can be enclosed in double quote characters |
|
such that space characters and macro names contained in the quoted |
|
argument need not be escaped. |
|
The closing quote of the last argument of a macro can be omitted. |
|
However, omitting it is not recommended because it makes the code |
|
harder to read. |
|
.It Sy "duplicate argument" |
.It Sy "duplicate argument" |
.Pq mdoc |
.Pq mdoc |
A |
A |
|
|
.Ic \&Fn |
.Ic \&Fn |
macro contains an opening or closing parenthesis; that's probably wrong, |
macro contains an opening or closing parenthesis; that's probably wrong, |
parentheses are added automatically. |
parentheses are added automatically. |
|
.It Sy "unknown library name" |
|
.Pq mdoc, not on Ox |
|
An |
|
.Ic \&Lb |
|
macro has an unknown name argument and will be rendered as |
|
.Qq library Dq Ar name . |
.It Sy "invalid content in Rs block" |
.It Sy "invalid content in Rs block" |
.Pq mdoc |
.Pq mdoc |
An |
An |
Line 1382 As an implementation dependent choice, tab characters |
|
Line 1641 As an implementation dependent choice, tab characters |
|
are passed through to the formatters in any case. |
are passed through to the formatters in any case. |
Given that the text before the tab character will be filled, |
Given that the text before the tab character will be filled, |
it is hard to predict which tab stop position the tab will advance to. |
it is hard to predict which tab stop position the tab will advance to. |
.It Sy "whitespace at end of input line" |
|
.Pq mdoc , man , roff |
|
Whitespace at the end of input lines is almost never semantically |
|
significant \(em but in the odd case where it might be, it is |
|
extremely confusing when reviewing and maintaining documents. |
|
.It Sy "new sentence, new line" |
.It Sy "new sentence, new line" |
.Pq mdoc |
.Pq mdoc |
A new sentence starts in the middle of a text line. |
A new sentence starts in the middle of a text line. |
Start it on a new input line to help formatters produce correct spacing. |
Start it on a new input line to help formatters produce correct spacing. |
.It Sy "bad comment style" |
|
.Pq roff |
|
Comment lines start with a dot, a backslash, and a double-quote character. |
|
The |
|
.Nm |
|
utility treats the line as a comment line even without the backslash, |
|
but leaving out the backslash might not be portable. |
|
.It Sy "invalid escape sequence" |
.It Sy "invalid escape sequence" |
.Pq roff |
.Pq roff |
An escape sequence has an invalid opening argument delimiter, lacks the |
An escape sequence has an invalid opening argument delimiter, lacks the |
Line 1504 and any remaining cells stay empty. |
|
Line 1751 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 |
|
.It Sy "duplicate prologue macro" |
|
.Pq mdoc |
|
One of the prologue macros occurs more than once. |
|
The last instance overrides all previous ones. |
|
.It Sy "skipping late title macro" |
|
.Pq mdoc |
|
The |
|
.Ic \&Dt |
|
macro appears after the first non-prologue macro. |
|
Traditional formatters cannot handle this because |
|
they write the page header before parsing the document body. |
|
Even though this technical restriction does not apply to |
|
.Nm , |
|
traditional semantics is preserved. |
|
The late macro is discarded including its arguments. |
.It Sy "input stack limit exceeded, infinite loop?" |
.It Sy "input stack limit exceeded, infinite loop?" |
.Pq roff |
.Pq roff |
Explicit recursion limits are implemented for the following features, |
Explicit recursion limits are implemented for the following features, |
|
|
.Xr mdoc 7 |
.Xr mdoc 7 |
block closing macro, a |
block closing macro, a |
.Xr man 7 |
.Xr man 7 |
.Ic \&RE |
.Ic \&ME , \&RE |
or |
or |
.Ic \&UE |
.Ic \&UE |
macro, an |
macro, an |
Line 1608 At the end of the document, an explicit |
|
Line 1870 At the end of the document, an explicit |
|
block, a |
block, a |
.Xr man 7 |
.Xr man 7 |
next-line scope or |
next-line scope or |
.Ic \&RS |
.Ic \&MT , \&RS |
or |
or |
.Ic \&UR |
.Ic \&UR |
block, an equation, table, or |
block, an equation, table, or |
Line 1674 whatever mode was active before the block. |
|
Line 1936 whatever mode was active before the block. |
|
A |
A |
.Ic \&Bl |
.Ic \&Bl |
macro fails to specify the list type. |
macro fails to specify the list type. |
|
.It Sy "argument is not numeric, using 1" |
|
.Pq roff |
|
The argument of a |
|
.Ic \&ce |
|
request is not a number. |
.It Sy "missing manual name, using \(dq\(dq" |
.It Sy "missing manual name, using \(dq\(dq" |
.Pq mdoc |
.Pq mdoc |
The first call to |
The first call to |
Line 1775 A macro or request is invoked with too many arguments: |
|
Line 2042 A macro or request is invoked with too many arguments: |
|
.Bl -dash -offset 2n -width 2n -compact |
.Bl -dash -offset 2n -width 2n -compact |
.It |
.It |
.Ic \&Fo , |
.Ic \&Fo , |
|
.Ic \&MT , |
.Ic \&PD , |
.Ic \&PD , |
.Ic \&RS , |
.Ic \&RS , |
.Ic \&UR , |
.Ic \&UR , |