summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorschwarze <schwarze@openbsd.org>2014-07-02 05:51:49 +0000
committerschwarze <schwarze@openbsd.org>2014-07-02 05:51:49 +0000
commit20369664ac55d20a8b4abd0def4c0cb93e1c03f4 (patch)
tree56160cd284ddf4120314e20db4500941f8c242bf
parenttake the pools mutex when copying stats out of it in the sysctl (diff)
downloadwireguard-openbsd-20369664ac55d20a8b4abd0def4c0cb93e1c03f4.tar.xz
wireguard-openbsd-20369664ac55d20a8b4abd0def4c0cb93e1c03f4.zip
Improve "skipping paragraph macro" messages,
showing which macro was skipped and before or after what.
-rw-r--r--regress/usr.bin/mandoc/man/IP/Makefile3
-rw-r--r--regress/usr.bin/mandoc/man/IP/empty.out_lint2
-rw-r--r--regress/usr.bin/mandoc/man/PP/Makefile5
-rw-r--r--regress/usr.bin/mandoc/man/PP/empty.in2
-rw-r--r--regress/usr.bin/mandoc/man/PP/empty.out_ascii2
-rw-r--r--regress/usr.bin/mandoc/man/PP/empty.out_lint3
-rw-r--r--regress/usr.bin/mandoc/man/blank/Makefile3
-rw-r--r--regress/usr.bin/mandoc/man/blank/afterSH.out_lint4
-rw-r--r--regress/usr.bin/mandoc/man/blank/afterSS.out_lint4
-rw-r--r--regress/usr.bin/mandoc/man/blank/line.out_lint4
-rw-r--r--regress/usr.bin/mandoc/mdoc/blank/Makefile3
-rw-r--r--regress/usr.bin/mandoc/mdoc/blank/line.in8
-rw-r--r--regress/usr.bin/mandoc/mdoc/blank/line.out_ascii6
-rw-r--r--regress/usr.bin/mandoc/mdoc/blank/line.out_lint23
-rw-r--r--regress/usr.bin/mandoc/mdoc/blank/list.out_lint7
-rw-r--r--usr.bin/mandoc/man_validate.c14
-rw-r--r--usr.bin/mandoc/mandoc.h6
-rw-r--r--usr.bin/mandoc/mdoc_validate.c44
18 files changed, 115 insertions, 28 deletions
diff --git a/regress/usr.bin/mandoc/man/IP/Makefile b/regress/usr.bin/mandoc/man/IP/Makefile
index a493fc0630c..9edc12e1c24 100644
--- a/regress/usr.bin/mandoc/man/IP/Makefile
+++ b/regress/usr.bin/mandoc/man/IP/Makefile
@@ -1,5 +1,6 @@
-# $OpenBSD: Makefile,v 1.7 2014/04/08 07:13:01 schwarze Exp $
+# $OpenBSD: Makefile,v 1.8 2014/07/02 05:51:49 schwarze Exp $
REGRESS_TARGETS = empty literal longhead manyargs spacing width
+LINT_TARGETS = empty
.include <bsd.regress.mk>
diff --git a/regress/usr.bin/mandoc/man/IP/empty.out_lint b/regress/usr.bin/mandoc/man/IP/empty.out_lint
new file mode 100644
index 00000000000..9f677652d55
--- /dev/null
+++ b/regress/usr.bin/mandoc/man/IP/empty.out_lint
@@ -0,0 +1,2 @@
+mandoc: empty.in:12:2: WARNING: skipping paragraph macro: IP empty
+mandoc: empty.in:19:2: WARNING: skipping paragraph macro: IP empty
diff --git a/regress/usr.bin/mandoc/man/PP/Makefile b/regress/usr.bin/mandoc/man/PP/Makefile
index 0b70b627717..33e1961ce66 100644
--- a/regress/usr.bin/mandoc/man/PP/Makefile
+++ b/regress/usr.bin/mandoc/man/PP/Makefile
@@ -1,5 +1,6 @@
-# $OpenBSD: Makefile,v 1.2 2011/11/17 16:28:45 schwarze Exp $
+# $OpenBSD: Makefile,v 1.3 2014/07/02 05:51:49 schwarze Exp $
-REGRESS_TARGETS=empty
+REGRESS_TARGETS = empty
+LINT_TARGETS = empty
.include <bsd.regress.mk>
diff --git a/regress/usr.bin/mandoc/man/PP/empty.in b/regress/usr.bin/mandoc/man/PP/empty.in
index 3d711084100..a6ac538f130 100644
--- a/regress/usr.bin/mandoc/man/PP/empty.in
+++ b/regress/usr.bin/mandoc/man/PP/empty.in
@@ -1,4 +1,4 @@
-.TH PP-EMPTY 1 "24 May 2010" OpenBSD
+.TH PP-EMPTY 1 "May 24, 2010" OpenBSD
.SH NAME
PP-empty \- handling of empty paragraphs
.SH DESCRIPTION
diff --git a/regress/usr.bin/mandoc/man/PP/empty.out_ascii b/regress/usr.bin/mandoc/man/PP/empty.out_ascii
index 2c96b90db1d..fb40ac18ebc 100644
--- a/regress/usr.bin/mandoc/man/PP/empty.out_ascii
+++ b/regress/usr.bin/mandoc/man/PP/empty.out_ascii
@@ -16,4 +16,4 @@ DDEESSCCRRIIPPTTIIOONN
-OpenBSD 24 May 2010 PP-EMPTY(1)
+OpenBSD May 24, 2010 PP-EMPTY(1)
diff --git a/regress/usr.bin/mandoc/man/PP/empty.out_lint b/regress/usr.bin/mandoc/man/PP/empty.out_lint
new file mode 100644
index 00000000000..6af9e65842e
--- /dev/null
+++ b/regress/usr.bin/mandoc/man/PP/empty.out_lint
@@ -0,0 +1,3 @@
+mandoc: empty.in:7:2: WARNING: skipping paragraph macro: PP empty
+mandoc: empty.in:10:2: WARNING: skipping paragraph macro: PP empty
+mandoc: empty.in:13:2: WARNING: skipping paragraph macro: PP empty
diff --git a/regress/usr.bin/mandoc/man/blank/Makefile b/regress/usr.bin/mandoc/man/blank/Makefile
index 16c64841690..f4759d32563 100644
--- a/regress/usr.bin/mandoc/man/blank/Makefile
+++ b/regress/usr.bin/mandoc/man/blank/Makefile
@@ -1,5 +1,6 @@
-# $OpenBSD: Makefile,v 1.2 2013/11/10 22:58:25 schwarze Exp $
+# $OpenBSD: Makefile,v 1.3 2014/07/02 05:51:49 schwarze Exp $
REGRESS_TARGETS = line afterSH afterSS
+LINT_TARGETS = line afterSH afterSS
.include <bsd.regress.mk>
diff --git a/regress/usr.bin/mandoc/man/blank/afterSH.out_lint b/regress/usr.bin/mandoc/man/blank/afterSH.out_lint
new file mode 100644
index 00000000000..0a77f218df6
--- /dev/null
+++ b/regress/usr.bin/mandoc/man/blank/afterSH.out_lint
@@ -0,0 +1,4 @@
+mandoc: afterSH.in:31:2: WARNING: skipping paragraph macro: br after SH
+mandoc: afterSH.in:35:2: WARNING: skipping paragraph macro: sp after SH
+mandoc: afterSH.in:71:2: WARNING: skipping paragraph macro: br after SH
+mandoc: afterSH.in:76:2: WARNING: skipping paragraph macro: sp after SH
diff --git a/regress/usr.bin/mandoc/man/blank/afterSS.out_lint b/regress/usr.bin/mandoc/man/blank/afterSS.out_lint
new file mode 100644
index 00000000000..5129637cb6b
--- /dev/null
+++ b/regress/usr.bin/mandoc/man/blank/afterSS.out_lint
@@ -0,0 +1,4 @@
+mandoc: afterSS.in:32:2: WARNING: skipping paragraph macro: br after SS
+mandoc: afterSS.in:36:2: WARNING: skipping paragraph macro: sp after SS
+mandoc: afterSS.in:72:2: WARNING: skipping paragraph macro: br after SS
+mandoc: afterSS.in:77:2: WARNING: skipping paragraph macro: sp after SS
diff --git a/regress/usr.bin/mandoc/man/blank/line.out_lint b/regress/usr.bin/mandoc/man/blank/line.out_lint
new file mode 100644
index 00000000000..8480cfc2b62
--- /dev/null
+++ b/regress/usr.bin/mandoc/man/blank/line.out_lint
@@ -0,0 +1,4 @@
+mandoc: line.in:5:2: WARNING: skipping paragraph macro: sp after SH
+mandoc: line.in:25:2: WARNING: skipping paragraph macro: PP empty
+mandoc: line.in:81:2: WARNING: skipping paragraph macro: sp after SH
+mandoc: line.in:84:2: WARNING: skipping paragraph macro: sp after SS
diff --git a/regress/usr.bin/mandoc/mdoc/blank/Makefile b/regress/usr.bin/mandoc/mdoc/blank/Makefile
index d1a10ae120e..17d70bc77c2 100644
--- a/regress/usr.bin/mandoc/mdoc/blank/Makefile
+++ b/regress/usr.bin/mandoc/mdoc/blank/Makefile
@@ -1,6 +1,7 @@
-# $OpenBSD: Makefile,v 1.3 2012/07/18 11:09:30 schwarze Exp $
+# $OpenBSD: Makefile,v 1.4 2014/07/02 05:51:49 schwarze Exp $
REGRESS_TARGETS = line comment list
+LINT_TARGETS = line list
SKIP_TMAN = list
diff --git a/regress/usr.bin/mandoc/mdoc/blank/line.in b/regress/usr.bin/mandoc/mdoc/blank/line.in
index 3a163dfcec9..f1946c13776 100644
--- a/regress/usr.bin/mandoc/mdoc/blank/line.in
+++ b/regress/usr.bin/mandoc/mdoc/blank/line.in
@@ -79,4 +79,12 @@ El sp 2v
Sh sp 2v:
.Sh CUSTOM
.sp 2v
+Pp Sh Pp:
+.Pp
+.Sh CUSTOM TWO
+.Pp
+Ss Pp:
+.Ss Subsection
+.Pp
End.
+.Pp
diff --git a/regress/usr.bin/mandoc/mdoc/blank/line.out_ascii b/regress/usr.bin/mandoc/mdoc/blank/line.out_ascii
index 43ca9ab4981..0c69779db79 100644
--- a/regress/usr.bin/mandoc/mdoc/blank/line.out_ascii
+++ b/regress/usr.bin/mandoc/mdoc/blank/line.out_ascii
@@ -66,6 +66,12 @@ DDEESSCCRRIIPPTTIIOONN
Sh sp 2v:
CCUUSSTTOOMM
+ Pp Sh Pp:
+
+CCUUSSTTOOMM TTWWOO
+ Ss Pp:
+
+ SSuubbsseeccttiioonn
End.
OpenBSD February 17, 2010 OpenBSD
diff --git a/regress/usr.bin/mandoc/mdoc/blank/line.out_lint b/regress/usr.bin/mandoc/mdoc/blank/line.out_lint
new file mode 100644
index 00000000000..64f89ae7a9b
--- /dev/null
+++ b/regress/usr.bin/mandoc/mdoc/blank/line.out_lint
@@ -0,0 +1,23 @@
+mandoc: line.in:15:1: WARNING: blank line in non-literal context
+mandoc: line.in:18:2: WARNING: skipping paragraph macro: br after br
+mandoc: line.in:20:2: WARNING: skipping paragraph macro: br before Pp
+mandoc: line.in:24:2: WARNING: skipping paragraph macro: br after Pp
+mandoc: line.in:26:2: WARNING: skipping paragraph macro: Pp before Pp
+mandoc: line.in:33:2: WARNING: skipping paragraph macro: br after sp
+mandoc: line.in:36:2: WARNING: skipping paragraph macro: sp after Pp
+mandoc: line.in:39:2: WARNING: skipping paragraph macro: sp after Pp
+mandoc: line.in:48:1: WARNING: blank line in non-literal context
+mandoc: line.in:50:1: WARNING: blank line in non-literal context
+mandoc: line.in:51:2: WARNING: skipping paragraph macro: br after sp
+mandoc: line.in:54:1: WARNING: blank line in non-literal context
+mandoc: line.in:54:1: WARNING: skipping paragraph macro: sp after Pp
+mandoc: line.in:56:1: WARNING: blank line in non-literal context
+mandoc: line.in:60:1: WARNING: blank line in non-literal context
+mandoc: line.in:62:1: WARNING: blank line in non-literal context
+mandoc: line.in:65:1: WARNING: blank line in non-literal context
+mandoc: line.in:66:1: WARNING: blank line in non-literal context
+mandoc: line.in:81:2: WARNING: skipping paragraph macro: sp after Sh
+mandoc: line.in:83:2: WARNING: skipping paragraph macro: Pp at the end of Sh
+mandoc: line.in:85:2: WARNING: skipping paragraph macro: Pp after Sh
+mandoc: line.in:88:2: WARNING: skipping paragraph macro: Pp after Ss
+mandoc: line.in:90:2: WARNING: skipping paragraph macro: Pp at the end of Ss
diff --git a/regress/usr.bin/mandoc/mdoc/blank/list.out_lint b/regress/usr.bin/mandoc/mdoc/blank/list.out_lint
new file mode 100644
index 00000000000..a90d91a4305
--- /dev/null
+++ b/regress/usr.bin/mandoc/mdoc/blank/list.out_lint
@@ -0,0 +1,7 @@
+mandoc: list.in:19:2: WARNING: skipping paragraph macro: Pp before It
+mandoc: list.in:22:2: WARNING: moving paragraph macro out of list: Pp
+mandoc: list.in:34:2: WARNING: moving paragraph macro out of list: Pp
+mandoc: list.in:34:2: WARNING: skipping paragraph macro: Pp before Pp
+mandoc: list.in:51:2: WARNING: moving paragraph macro out of list: Pp
+mandoc: list.in:63:2: WARNING: moving paragraph macro out of list: Pp
+mandoc: list.in:63:2: WARNING: skipping paragraph macro: Pp before Pp
diff --git a/usr.bin/mandoc/man_validate.c b/usr.bin/mandoc/man_validate.c
index fc59f8696d1..a8313eedc21 100644
--- a/usr.bin/mandoc/man_validate.c
+++ b/usr.bin/mandoc/man_validate.c
@@ -1,4 +1,4 @@
-/* $Id: man_validate.c,v 1.66 2014/07/01 22:36:35 schwarze Exp $ */
+/* $Id: man_validate.c,v 1.67 2014/07/02 05:51:49 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -353,7 +353,9 @@ check_par(CHKARGS)
break;
case MAN_BODY:
if (0 == n->nchild)
- man_nmsg(man, n, MANDOCERR_IGNPAR);
+ mandoc_vmsg(MANDOCERR_PAR_SKIP,
+ man->parse, n->line, n->pos,
+ "%s empty", man_macronames[n->tok]);
break;
case MAN_HEAD:
if (n->nchild)
@@ -377,7 +379,9 @@ post_IP(CHKARGS)
break;
case MAN_BODY:
if (0 == n->parent->head->nchild && 0 == n->nchild)
- man_nmsg(man, n, MANDOCERR_IGNPAR);
+ mandoc_vmsg(MANDOCERR_PAR_SKIP,
+ man->parse, n->line, n->pos,
+ "%s empty", man_macronames[n->tok]);
break;
default:
break;
@@ -575,7 +579,9 @@ post_vs(CHKARGS)
case MAN_SH:
/* FALLTHROUGH */
case MAN_SS:
- man_nmsg(man, n, MANDOCERR_IGNPAR);
+ mandoc_vmsg(MANDOCERR_PAR_SKIP, man->parse, n->line, n->pos,
+ "%s after %s", man_macronames[n->tok],
+ man_macronames[n->parent->tok]);
/* FALLTHROUGH */
case MAN_MAX:
/*
diff --git a/usr.bin/mandoc/mandoc.h b/usr.bin/mandoc/mandoc.h
index f5be4374b90..a585546b23a 100644
--- a/usr.bin/mandoc/mandoc.h
+++ b/usr.bin/mandoc/mandoc.h
@@ -1,4 +1,4 @@
-/* $Id: mandoc.h,v 1.70 2014/07/02 03:47:07 schwarze Exp $ */
+/* $Id: mandoc.h,v 1.71 2014/07/02 05:51:49 schwarze Exp $ */
/*
* Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -72,8 +72,8 @@ enum mandocerr {
/* related to macros and nesting */
MANDOCERR_MACRO_OBS, /* obsolete macro: macro */
- MANDOCERR_IGNPAR, /* skipping paragraph macro */
- MANDOCERR_MOVEPAR, /* moving paragraph macro out of list */
+ MANDOCERR_PAR_SKIP, /* skipping paragraph macro: macro ... */
+ MANDOCERR_PAR_MOVE, /* moving paragraph macro out of list: macro */
MANDOCERR_IGNNS, /* skipping no-space macro */
MANDOCERR_SCOPENEST, /* blocks badly nested */
MANDOCERR_CHILD, /* child violates parent syntax */
diff --git a/usr.bin/mandoc/mdoc_validate.c b/usr.bin/mandoc/mdoc_validate.c
index 7feb696959a..48bc9fc86f9 100644
--- a/usr.bin/mandoc/mdoc_validate.c
+++ b/usr.bin/mandoc/mdoc_validate.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_validate.c,v 1.136 2014/07/02 03:47:07 schwarze Exp $ */
+/* $Id: mdoc_validate.c,v 1.137 2014/07/02 05:51:49 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -1381,12 +1381,17 @@ post_bl_block(POST_ARGS)
continue;
}
if (NULL == ni->next) {
- mdoc_nmsg(mdoc, nc, MANDOCERR_MOVEPAR);
+ mandoc_msg(MANDOCERR_PAR_MOVE,
+ mdoc->parse, nc->line, nc->pos,
+ mdoc_macronames[nc->tok]);
if ( ! mdoc_node_relink(mdoc, nc))
return(0);
} else if (0 == n->norm->Bl.comp &&
LIST_column != n->norm->Bl.type) {
- mdoc_nmsg(mdoc, nc, MANDOCERR_IGNPAR);
+ mandoc_vmsg(MANDOCERR_PAR_SKIP,
+ mdoc->parse, nc->line, nc->pos,
+ "%s before It",
+ mdoc_macronames[nc->tok]);
mdoc_node_delete(mdoc, nc);
} else
break;
@@ -2074,13 +2079,19 @@ post_ignpar(POST_ARGS)
if (NULL != (np = mdoc->last->child))
if (MDOC_Pp == np->tok || MDOC_Lp == np->tok) {
- mdoc_nmsg(mdoc, np, MANDOCERR_IGNPAR);
+ mandoc_vmsg(MANDOCERR_PAR_SKIP,
+ mdoc->parse, np->line, np->pos,
+ "%s after %s", mdoc_macronames[np->tok],
+ mdoc_macronames[mdoc->last->tok]);
mdoc_node_delete(mdoc, np);
}
if (NULL != (np = mdoc->last->last))
if (MDOC_Pp == np->tok || MDOC_Lp == np->tok) {
- mdoc_nmsg(mdoc, np, MANDOCERR_IGNPAR);
+ mandoc_vmsg(MANDOCERR_PAR_SKIP, mdoc->parse,
+ np->line, np->pos, "%s at the end of %s",
+ mdoc_macronames[np->tok],
+ mdoc_macronames[mdoc->last->tok]);
mdoc_node_delete(mdoc, np);
}
@@ -2112,7 +2123,10 @@ pre_par(PRE_ARGS)
if (MDOC_It == n->tok && n->parent->norm->Bl.comp)
return(1);
- mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_IGNPAR);
+ mandoc_vmsg(MANDOCERR_PAR_SKIP, mdoc->parse,
+ mdoc->last->line, mdoc->last->pos,
+ "%s before %s", mdoc_macronames[mdoc->last->tok],
+ mdoc_macronames[n->tok]);
mdoc_node_delete(mdoc, mdoc->last);
return(1);
}
@@ -2120,25 +2134,27 @@ pre_par(PRE_ARGS)
static int
post_par(POST_ARGS)
{
+ struct mdoc_node *np;
if (MDOC_ELEM != mdoc->last->type &&
MDOC_BLOCK != mdoc->last->type)
return(1);
- if (NULL == mdoc->last->prev) {
- if (MDOC_Sh != mdoc->last->parent->tok &&
- MDOC_Ss != mdoc->last->parent->tok)
+ if (NULL == (np = mdoc->last->prev)) {
+ np = mdoc->last->parent;
+ if (MDOC_Sh != np->tok && MDOC_Ss != np->tok)
return(1);
} else {
- if (MDOC_Pp != mdoc->last->prev->tok &&
- MDOC_Lp != mdoc->last->prev->tok &&
+ if (MDOC_Pp != np->tok && MDOC_Lp != np->tok &&
(MDOC_br != mdoc->last->tok ||
- (MDOC_sp != mdoc->last->prev->tok &&
- MDOC_br != mdoc->last->prev->tok)))
+ (MDOC_sp != np->tok && MDOC_br != np->tok)))
return(1);
}
- mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_IGNPAR);
+ mandoc_vmsg(MANDOCERR_PAR_SKIP, mdoc->parse,
+ mdoc->last->line, mdoc->last->pos,
+ "%s after %s", mdoc_macronames[mdoc->last->tok],
+ mdoc_macronames[np->tok]);
mdoc_node_delete(mdoc, mdoc->last);
return(1);
}