version 1.119, 2010/12/21 23:57:31 |
version 1.120, 2010/12/26 21:04:19 |
|
|
const struct mdoc_node *); |
const struct mdoc_node *); |
|
|
static void termp____post(DECL_ARGS); |
static void termp____post(DECL_ARGS); |
|
static void termp__t_post(DECL_ARGS); |
static void termp_an_post(DECL_ARGS); |
static void termp_an_post(DECL_ARGS); |
static void termp_bd_post(DECL_ARGS); |
static void termp_bd_post(DECL_ARGS); |
static void termp_bk_post(DECL_ARGS); |
static void termp_bk_post(DECL_ARGS); |
|
|
static void termp_ss_post(DECL_ARGS); |
static void termp_ss_post(DECL_ARGS); |
|
|
static int termp__a_pre(DECL_ARGS); |
static int termp__a_pre(DECL_ARGS); |
|
static int termp__t_pre(DECL_ARGS); |
static int termp_an_pre(DECL_ARGS); |
static int termp_an_pre(DECL_ARGS); |
static int termp_ap_pre(DECL_ARGS); |
static int termp_ap_pre(DECL_ARGS); |
static int termp_bd_pre(DECL_ARGS); |
static int termp_bd_pre(DECL_ARGS); |
|
|
{ NULL, termp____post }, /* %O */ |
{ NULL, termp____post }, /* %O */ |
{ NULL, termp____post }, /* %P */ |
{ NULL, termp____post }, /* %P */ |
{ NULL, termp____post }, /* %R */ |
{ NULL, termp____post }, /* %R */ |
{ termp_under_pre, termp____post }, /* %T */ |
{ termp__t_pre, termp__t_post }, /* %T */ |
{ NULL, termp____post }, /* %V */ |
{ NULL, termp____post }, /* %V */ |
{ NULL, NULL }, /* Ac */ |
{ NULL, NULL }, /* Ac */ |
{ termp_quote_pre, termp_quote_post }, /* Ao */ |
{ termp_quote_pre, termp_quote_post }, /* Ao */ |
|
|
termp_quote_pre(DECL_ARGS) |
termp_quote_pre(DECL_ARGS) |
{ |
{ |
|
|
if (MDOC_BODY != n->type) |
if (MDOC_BODY != n->type && MDOC_ELEM != n->type) |
return(1); |
return(1); |
|
|
switch (n->tok) { |
switch (n->tok) { |
|
|
case (MDOC_Pq): |
case (MDOC_Pq): |
term_word(p, "("); |
term_word(p, "("); |
break; |
break; |
|
case (MDOC__T): |
|
/* FALLTHROUGH */ |
case (MDOC_Qo): |
case (MDOC_Qo): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Qq): |
case (MDOC_Qq): |
|
|
termp_quote_post(DECL_ARGS) |
termp_quote_post(DECL_ARGS) |
{ |
{ |
|
|
if (MDOC_BODY != n->type) |
if (MDOC_BODY != n->type && MDOC_ELEM != n->type) |
return; |
return; |
|
|
p->flags |= TERMP_NOSPACE; |
p->flags |= TERMP_NOSPACE; |
|
|
case (MDOC_Pq): |
case (MDOC_Pq): |
term_word(p, ")"); |
term_word(p, ")"); |
break; |
break; |
|
case (MDOC__T): |
|
/* FALLTHROUGH */ |
case (MDOC_Qo): |
case (MDOC_Qo): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Qq): |
case (MDOC_Qq): |
|
|
if (MDOC_BODY == n->type) |
if (MDOC_BODY == n->type) |
p->flags &= ~(TERMP_KEEP | TERMP_PREKEEP); |
p->flags &= ~(TERMP_KEEP | TERMP_PREKEEP); |
} |
} |
|
|
|
/* ARGSUSED */ |
|
static void |
|
termp__t_post(DECL_ARGS) |
|
{ |
|
struct mdoc_node *nn; |
|
|
|
/* |
|
* If we're in an `Rs' and there's a journal present, then quote |
|
* us instead of underlining us (for disambiguation). |
|
*/ |
|
nn = n->parent->parent; |
|
if (nn && MDOC_Rs == nn->tok && nn->data.Rs->child_J) |
|
termp_quote_post(p, pair, m, n); |
|
|
|
termp____post(p, pair, m, n); |
|
} |
|
|
|
/* ARGSUSED */ |
|
static int |
|
termp__t_pre(DECL_ARGS) |
|
{ |
|
struct mdoc_node *nn; |
|
|
|
/* |
|
* If we're in an `Rs' and there's a journal present, then quote |
|
* us instead of underlining us (for disambiguation). |
|
*/ |
|
nn = n->parent->parent; |
|
if (nn && MDOC_Rs == nn->tok && nn->data.Rs->child_J) |
|
return(termp_quote_pre(p, pair, m, n)); |
|
|
|
term_fontpush(p, TERMFONT_UNDER); |
|
return(1); |
|
} |
|
|
/* ARGSUSED */ |
/* ARGSUSED */ |
static int |
static int |