summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-07-20 15:05:34 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-07-20 15:05:34 +0000
commit21a0f9a1a5bc29abdffea3529d79a09932397e4a (patch)
tree4faa846232af7818300dd7ff187c8dcddda6d9b5
parenta230269a41845b9f72616b3c61dc910ab46e7d1a (diff)
downloadmandoc-21a0f9a1a5bc29abdffea3529d79a09932397e4a.tar.gz
Undocumented behaviour in groff: `Bl -column' implies `-compact'.
mandoc now allows fewer columns than the -width specifies.
-rw-r--r--mdoc_term.c3
-rw-r--r--mdoc_validate.c17
2 files changed, 16 insertions, 4 deletions
diff --git a/mdoc_term.c b/mdoc_term.c
index f6b1e583..fb3a3658 100644
--- a/mdoc_term.c
+++ b/mdoc_term.c
@@ -672,6 +672,9 @@ fmt_block_vspace(struct termp *p,
if (arg_hasattr(MDOC_Compact, bl))
return(1);
+ /* XXX - not documented! */
+ else if (arg_hasattr(MDOC_Column, bl))
+ return(1);
for (n = node; n; n = n->parent) {
if (MDOC_BLOCK != n->type)
diff --git a/mdoc_validate.c b/mdoc_validate.c
index 2c7dba22..2f1fa122 100644
--- a/mdoc_validate.c
+++ b/mdoc_validate.c
@@ -1028,11 +1028,20 @@ post_it(POST_ARGS)
c = mdoc->last->child;
for (i = 0; c && MDOC_HEAD == c->type; c = c->next)
i++;
- if (i == cols)
+
+ if (i < cols) {
+ if ( ! mdoc_vwarn(mdoc, mdoc->last->line,
+ mdoc->last->pos, "column "
+ "mismatch: have %d, want %d",
+ i, cols))
+ return(0);
break;
- return(mdoc_verr(mdoc, mdoc->last->line, mdoc->last->pos,
- "column mismatch (have %d, want %d)",
- i, cols));
+ } else if (i == cols)
+ break;
+
+ return(mdoc_verr(mdoc, mdoc->last->line,
+ mdoc->last->pos, "column mismatch: "
+ "have %d, want %d", i, cols));
default:
break;
}