1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
.\" $OpenBSD: mdoclint.1,v 1.26 2017/06/08 18:25:16 schwarze Exp $
.\" $NetBSD: mdoclint.1,v 1.23 2017/06/08 10:19:56 wiz Exp $
.\"
.\" Copyright (c) 2001-2013 Thomas Klausner
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR, THOMAS KLAUSNER,
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd $Mdocdate: June 8 2017 $
.Dt MDOCLINT 1
.Os
.Sh NAME
.Nm mdoclint
.Nd man page verifier
.Sh SYNOPSIS
.Nm
.Op Fl DdFhmoprSvwx
.Ar
.Sh DESCRIPTION
.Nm
is a man page verifier.
It tries to automatically find as many common
errors that occur when writing man pages as possible.
If no flags are given,
.Fl DdmoprSx
is assumed (that is, everything except
.Fl Fhvw ) .
.Pp
The options are as follows:
.Bl -tag -width Ds
.It Fl D
Warn about bad casing and architectures in the .Dt macro.
.It Fl d
Warn about bad date strings (in the .Dd macro).
.It Fl F
Delete whitespace at the end of input lines.
.It Fl h
Display usage.
.It Fl m
Warn if man page is not in
.Xr mdoc 7
format.
.It Fl o
Warn when the .Os macro has an argument (it shouldn't have one at
least in the base system, because on
.Ox
the current version is default).
.It Fl p
Warn about possible punctuation problems at the end of macro arguments
and abuse of .Ns to get punctuation directly next to a word.
.It Fl r
Warn about missing RCS Id.
.It Fl S
Warn about any unknown sections or about a section that comes in the
wrong order (see
.Xr mdoc 7 ) .
.It Fl v
Verbose output.
.It Fl w
Display the section name,
in addition to the relevant line number,
in warnings.
.It Fl x
Warn about cross-references whose target is missing, cross-references
to itself, or plain bogus cross-references.
.Pp
For
.Dq .Xr name X ,
the following files are checked:
.Pa /usr/share/man/manX/name.X ,
.Pa /usr/share/man/manX/`uname -m`/name.X ,
.Pa ./name.X ,
and
.Pa /usr/X11R6/man/manX/name.X .
.El
.Sh SEE ALSO
.Xr mdoc 7
.Sh HISTORY
The
.Nm
utility first appeared in
.Ox 4.5 .
.Sh AUTHORS
.An Thomas Klausner
.Aq Mt wiz@NetBSD.org
.An Marc Espie
.Aq Mt espie@OpenBSD.org
.An Ingo Schwarze
.Aq Mt schwarze@OpenBSD.org
.Sh BUGS
The
.Fl o
and
.Fl p
flags currently produce too many bogus warnings.
.Pp
The
.Fl x
flag sometimes erroneously warns about xrefs to man pages for
machine-dependent drivers that are not for the architecture
.Nm
is running on.
|