aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdoc_macro.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2015-02-04 22:30:10 +0000
committerIngo Schwarze <schwarze@openbsd.org>2015-02-04 22:30:10 +0000
commitaff7055e2d69b65767cc1314a7898f31abe2c74a (patch)
tree4d78a5ce7cd3996771e9a413cf9573be0313467f /mdoc_macro.c
parent4d53b36358108c3838a8424f0958934d3dcf1af9 (diff)
downloadmandoc-aff7055e2d69b65767cc1314a7898f31abe2c74a.tar.gz
mandoc-aff7055e2d69b65767cc1314a7898f31abe2c74a.tar.zst
mandoc-aff7055e2d69b65767cc1314a7898f31abe2c74a.zip
Discard excess head arguments for .Bd .Bl .Bk and delete hwarn_eq0().
Discard empty .Bk blocks. Improve related diagnostics.
Diffstat (limited to 'mdoc_macro.c')
-rw-r--r--mdoc_macro.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/mdoc_macro.c b/mdoc_macro.c
index 7cf30c42..c6b0f352 100644
--- a/mdoc_macro.c
+++ b/mdoc_macro.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_macro.c,v 1.173 2015/02/04 18:03:47 schwarze Exp $ */
+/* $Id: mdoc_macro.c,v 1.174 2015/02/04 22:30:10 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010, 2012-2015 Ingo Schwarze <schwarze@openbsd.org>
@@ -1042,6 +1042,12 @@ blk_full(MACRO_PROT_ARGS)
body = mdoc_body_alloc(mdoc, line, ppos, tok);
break;
}
+ if (tok == MDOC_Bd || tok == MDOC_Bk) {
+ mandoc_vmsg(MANDOCERR_ARG_EXCESS,
+ mdoc->parse, line, la, "%s ... %s",
+ mdoc_macronames[tok], buf + la);
+ break;
+ }
if (tok == MDOC_Rs) {
mandoc_vmsg(MANDOCERR_ARG_SKIP, mdoc->parse,
line, la, "Rs %s", buf + la);
@@ -1105,7 +1111,7 @@ blk_full(MACRO_PROT_ARGS)
return;
if (head == NULL)
head = mdoc_head_alloc(mdoc, line, ppos, tok);
- if (nl && tok != MDOC_Rs)
+ if (nl && tok != MDOC_Bd && tok != MDOC_Bl && tok != MDOC_Rs)
append_delims(mdoc, line, pos, buf);
if (body != NULL)
goto out;