summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2010-04-06 11:28:17 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2010-04-06 11:28:17 +0000
commitaeb53baa584ae0fe0d04a3cd1e74f509d353e8c0 (patch)
tree00d440a16a75d6d270567180f1501a5506625605
parent6d0ad067809e00ebce310fb6eb53a72a9874a704 (diff)
downloadmandoc-aeb53baa584ae0fe0d04a3cd1e74f509d353e8c0.tar.gz
Let `Bl' accept arguments on the head line with a warning (these are ignored in the front-end device) (noted by Theo de Raadt).
-rw-r--r--mdoc_html.c2
-rw-r--r--mdoc_term.c12
-rw-r--r--mdoc_validate.c5
3 files changed, 16 insertions, 3 deletions
diff --git a/mdoc_html.c b/mdoc_html.c
index bfcb5674..90d22e1f 100644
--- a/mdoc_html.c
+++ b/mdoc_html.c
@@ -1116,6 +1116,8 @@ mdoc_bl_pre(MDOC_ARGS)
{
struct ord *ord;
+ if (MDOC_HEAD == n->type)
+ return(0);
if (MDOC_BLOCK != n->type)
return(1);
if (MDOC_Enum != a2list(n))
diff --git a/mdoc_term.c b/mdoc_term.c
index d1de3107..671a5ecc 100644
--- a/mdoc_term.c
+++ b/mdoc_term.c
@@ -99,6 +99,7 @@ static int termp_ap_pre(DECL_ARGS);
static int termp_aq_pre(DECL_ARGS);
static int termp_bd_pre(DECL_ARGS);
static int termp_bf_pre(DECL_ARGS);
+static int termp_bl_pre(DECL_ARGS);
static int termp_bold_pre(DECL_ARGS);
static int termp_bq_pre(DECL_ARGS);
static int termp_brq_pre(DECL_ARGS);
@@ -148,7 +149,7 @@ static const struct termact termacts[MDOC_MAX] = {
{ termp_d1_pre, termp_d1_post }, /* Dl */
{ termp_bd_pre, termp_bd_post }, /* Bd */
{ NULL, NULL }, /* Ed */
- { NULL, termp_bl_post }, /* Bl */
+ { termp_bl_pre, termp_bl_post }, /* Bl */
{ NULL, NULL }, /* El */
{ termp_it_pre, termp_it_post }, /* It */
{ NULL, NULL }, /* Ad */
@@ -1250,6 +1251,15 @@ termp_nd_pre(DECL_ARGS)
/* ARGSUSED */
+static int
+termp_bl_pre(DECL_ARGS)
+{
+
+ return(MDOC_HEAD != n->type);
+}
+
+
+/* ARGSUSED */
static void
termp_bl_post(DECL_ARGS)
{
diff --git a/mdoc_validate.c b/mdoc_validate.c
index ef9fce61..46849243 100644
--- a/mdoc_validate.c
+++ b/mdoc_validate.c
@@ -1103,8 +1103,9 @@ post_bl_head(POST_ARGS)
if (n->args->argv[i].arg == MDOC_Column)
break;
- if (i == (int)n->args->argc)
- return(1);
+ if (i == (int)n->args->argc && n->nchild)
+ return(warn_count(mdoc, "==", 0,
+ "line arguments", n->nchild));
if (n->args->argv[i].sz && mdoc->last->child)
return(mdoc_nerr(mdoc, n, ECOLMIS));