version 1.183, 2010/08/21 14:04:13 |
version 1.185, 2010/09/23 20:40:00 |
Line 92 static void termp_sh_post(DECL_ARGS); |
|
Line 92 static void termp_sh_post(DECL_ARGS); |
|
static void termp_sq_post(DECL_ARGS); |
static void termp_sq_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_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_aq_pre(DECL_ARGS); |
static int termp_aq_pre(DECL_ARGS); |
Line 178 static const struct termact termacts[MDOC_MAX] = { |
|
Line 179 static const struct termact termacts[MDOC_MAX] = { |
|
{ termp_under_pre, NULL }, /* Va */ |
{ termp_under_pre, NULL }, /* Va */ |
{ termp_vt_pre, NULL }, /* Vt */ |
{ termp_vt_pre, NULL }, /* Vt */ |
{ termp_xr_pre, NULL }, /* Xr */ |
{ termp_xr_pre, NULL }, /* Xr */ |
{ NULL, termp____post }, /* %A */ |
{ termp__a_pre, termp____post }, /* %A */ |
{ termp_under_pre, termp____post }, /* %B */ |
{ termp_under_pre, termp____post }, /* %B */ |
{ NULL, termp____post }, /* %D */ |
{ NULL, termp____post }, /* %D */ |
{ termp_under_pre, termp____post }, /* %I */ |
{ termp_under_pre, termp____post }, /* %I */ |
Line 1030 termp_nm_pre(DECL_ARGS) |
|
Line 1031 termp_nm_pre(DECL_ARGS) |
|
synopsis_pre(p, n->parent); |
synopsis_pre(p, n->parent); |
|
|
if (MDOC_HEAD == n->type && n->next->child) { |
if (MDOC_HEAD == n->type && n->next->child) { |
p->flags |= TERMP_NOSPACE | TERMP_NOBREAK | TERMP_HANG; |
p->flags |= TERMP_NOSPACE | TERMP_NOBREAK; |
p->rmargin = p->offset + term_len(p, 1) + |
p->rmargin = p->offset + term_len(p, 1); |
(NULL == n->child ? term_strlen(p, m->name) : |
if (NULL == n->child) { |
MDOC_TEXT == n->child->type ? |
p->rmargin += term_strlen(p, m->name); |
term_strlen(p, n->child->string) : |
} else if (MDOC_TEXT == n->child->type) { |
term_len(p, 5)); |
p->rmargin += term_strlen(p, n->child->string); |
|
if (n->child->next) |
|
p->flags |= TERMP_HANG; |
|
} else { |
|
p->rmargin += term_len(p, 5); |
|
p->flags |= TERMP_HANG; |
|
} |
} |
} |
|
|
term_fontpush(p, TERMFONT_BOLD); |
term_fontpush(p, TERMFONT_BOLD); |
Line 1079 termp_fl_pre(DECL_ARGS) |
|
Line 1086 termp_fl_pre(DECL_ARGS) |
|
|
|
/* ARGSUSED */ |
/* ARGSUSED */ |
static int |
static int |
|
termp__a_pre(DECL_ARGS) |
|
{ |
|
|
|
if (n->prev && MDOC__A == n->prev->tok) |
|
if (NULL == n->next || MDOC__A != n->next->tok) |
|
term_word(p, "and"); |
|
|
|
return(1); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static int |
termp_an_pre(DECL_ARGS) |
termp_an_pre(DECL_ARGS) |
{ |
{ |
|
|
Line 2097 termp_ap_pre(DECL_ARGS) |
|
Line 2117 termp_ap_pre(DECL_ARGS) |
|
static void |
static void |
termp____post(DECL_ARGS) |
termp____post(DECL_ARGS) |
{ |
{ |
|
|
|
/* |
|
* Handle lists of authors. In general, print each followed by |
|
* a comma. Don't print the comma if there are only two |
|
* authors. |
|
*/ |
|
if (MDOC__A == n->tok && n->next && MDOC__A == n->next->tok) |
|
if (NULL == n->next->next || MDOC__A != n->next->next->tok) |
|
if (NULL == n->prev || MDOC__A != n->prev->tok) |
|
return; |
|
|
/* TODO: %U. */ |
/* TODO: %U. */ |
|
|