aboutsummaryrefslogtreecommitdiffstatshomepage
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
commit80afe8e5f638df0bd4a6db2145ae2babd9ede57d (patch)
treeb5184c1937b02ef44c242c520f8e51e84d2a3655
parent5c1741ee5854b0a14d5daee8a6b5a0a8616c4692 (diff)
downloadmandoc-80afe8e5f638df0bd4a6db2145ae2babd9ede57d.tar.gz
mandoc-80afe8e5f638df0bd4a6db2145ae2babd9ede57d.tar.zst
mandoc-80afe8e5f638df0bd4a6db2145ae2babd9ede57d.zip
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.c4
-rw-r--r--mdoc_term.c14
-rw-r--r--mdoc_validate.c7
3 files changed, 19 insertions, 6 deletions
diff --git a/mdoc_html.c b/mdoc_html.c
index 43abe55d..cd4119a2 100644
--- a/mdoc_html.c
+++ b/mdoc_html.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_html.c,v 1.58 2010/04/06 07:27:42 kristaps Exp $ */
+/* $Id: mdoc_html.c,v 1.59 2010/04/06 11:28:17 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -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 2b591f98..12e3afda 100644
--- a/mdoc_term.c
+++ b/mdoc_term.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_term.c,v 1.114 2010/04/06 07:27:42 kristaps Exp $ */
+/* $Id: mdoc_term.c,v 1.115 2010/04/06 11:28:17 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -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 a08ca405..a60a5e99 100644
--- a/mdoc_validate.c
+++ b/mdoc_validate.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_validate.c,v 1.63 2010/04/03 14:25:12 kristaps Exp $ */
+/* $Id: mdoc_validate.c,v 1.64 2010/04/06 11:28:17 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -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));