diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-12-25 13:50:37 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-12-25 13:50:37 +0000 |
commit | 72dde2cbfd108b1a17101a36f17ed4abd72231db (patch) | |
tree | 5ab22c55d9287160446e75081ed4fe2b2a059238 /mdoc_validate.c | |
parent | 66602c8db181a50641e1c399880c1cc036d8ecec (diff) | |
download | mandoc-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.c | 17 |
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; } |