summaryrefslogtreecommitdiffstats
path: root/mdoc_validate.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2010-12-25 13:50:37 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2010-12-25 13:50:37 +0000
commit72dde2cbfd108b1a17101a36f17ed4abd72231db (patch)
tree5ab22c55d9287160446e75081ed4fe2b2a059238 /mdoc_validate.c
parent66602c8db181a50641e1c399880c1cc036d8ecec (diff)
downloadmandoc-72dde2cbfd108b1a17101a36f17ed4abd72231db.tar.gz
Specifying both %T and %J in an `Rs' block causes the title to be quoted
instead of underlined. This only happens in -Tascii, as -T[x]html both underlines and italicises.
Diffstat (limited to 'mdoc_validate.c')
-rw-r--r--mdoc_validate.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/mdoc_validate.c b/mdoc_validate.c
index aa65061c..89cdde0e 100644
--- a/mdoc_validate.c
+++ b/mdoc_validate.c
@@ -1649,8 +1649,19 @@ post_rs(POST_ARGS)
{
struct mdoc_node *nn, *next, *prev;
int i, j;
+ int *tj;
+#define RS_JOURNAL (1 << 0)
+#define RS_TITLE (1 << 1)
- if (MDOC_BODY != mdoc->last->type)
+ /* Mark whether we're carrying both a %T and %J. */
+
+ tj = &mdoc->last->norm->Rs.titlejournal;
+
+ if (MDOC_BLOCK == mdoc->last->type) {
+ if ( ! (RS_JOURNAL & *tj && RS_TITLE & *tj))
+ *tj = 0;
+ return(1);
+ } else if (MDOC_BODY != mdoc->last->type)
return(1);
/*
@@ -1666,6 +1677,10 @@ post_rs(POST_ARGS)
break;
if (i < RSORD_MAX) {
+ if (MDOC__T == rsord[i])
+ *tj |= RS_TITLE;
+ else if (MDOC__J == rsord[i])
+ *tj |= RS_JOURNAL;
next = nn->next;
continue;
}