version 1.107, 2010/09/26 10:32:14 |
version 1.113, 2010/11/29 13:02:47 |
Line 91 static int mdoc_ex_pre(MDOC_ARGS); |
|
Line 91 static int mdoc_ex_pre(MDOC_ARGS); |
|
static void mdoc_fo_post(MDOC_ARGS); |
static void mdoc_fo_post(MDOC_ARGS); |
static int mdoc_fo_pre(MDOC_ARGS); |
static int mdoc_fo_pre(MDOC_ARGS); |
static int mdoc_ic_pre(MDOC_ARGS); |
static int mdoc_ic_pre(MDOC_ARGS); |
|
static int mdoc_igndelim_pre(MDOC_ARGS); |
static int mdoc_in_pre(MDOC_ARGS); |
static int mdoc_in_pre(MDOC_ARGS); |
static int mdoc_it_block_pre(MDOC_ARGS, enum mdoc_list, |
static int mdoc_it_block_pre(MDOC_ARGS, enum mdoc_list, |
int, struct roffsu *, struct roffsu *); |
int, struct roffsu *, struct roffsu *); |
Line 109 static int mdoc_nm_pre(MDOC_ARGS); |
|
Line 110 static int mdoc_nm_pre(MDOC_ARGS); |
|
static int mdoc_ns_pre(MDOC_ARGS); |
static int mdoc_ns_pre(MDOC_ARGS); |
static int mdoc_pa_pre(MDOC_ARGS); |
static int mdoc_pa_pre(MDOC_ARGS); |
static void mdoc_pf_post(MDOC_ARGS); |
static void mdoc_pf_post(MDOC_ARGS); |
static int mdoc_pf_pre(MDOC_ARGS); |
|
static void mdoc_quote_post(MDOC_ARGS); |
static void mdoc_quote_post(MDOC_ARGS); |
static int mdoc_quote_pre(MDOC_ARGS); |
static int mdoc_quote_pre(MDOC_ARGS); |
static int mdoc_rs_pre(MDOC_ARGS); |
static int mdoc_rs_pre(MDOC_ARGS); |
Line 199 static const struct htmlmdoc mdocs[MDOC_MAX] = { |
|
Line 199 static const struct htmlmdoc mdocs[MDOC_MAX] = { |
|
{NULL, NULL}, /* Eo */ |
{NULL, NULL}, /* Eo */ |
{mdoc_xx_pre, NULL}, /* Fx */ |
{mdoc_xx_pre, NULL}, /* Fx */ |
{mdoc_ms_pre, NULL}, /* Ms */ |
{mdoc_ms_pre, NULL}, /* Ms */ |
{NULL, NULL}, /* No */ |
{mdoc_igndelim_pre, NULL}, /* No */ |
{mdoc_ns_pre, NULL}, /* Ns */ |
{mdoc_ns_pre, NULL}, /* Ns */ |
{mdoc_xx_pre, NULL}, /* Nx */ |
{mdoc_xx_pre, NULL}, /* Nx */ |
{mdoc_xx_pre, NULL}, /* Ox */ |
{mdoc_xx_pre, NULL}, /* Ox */ |
{NULL, NULL}, /* Pc */ |
{NULL, NULL}, /* Pc */ |
{mdoc_pf_pre, mdoc_pf_post}, /* Pf */ |
{mdoc_igndelim_pre, mdoc_pf_post}, /* Pf */ |
{mdoc_quote_pre, mdoc_quote_post}, /* Po */ |
{mdoc_quote_pre, mdoc_quote_post}, /* Po */ |
{mdoc_quote_pre, mdoc_quote_post}, /* Pq */ |
{mdoc_quote_pre, mdoc_quote_post}, /* Pq */ |
{NULL, NULL}, /* Qc */ |
{NULL, NULL}, /* Qc */ |
Line 843 mdoc_xx_pre(MDOC_ARGS) |
|
Line 843 mdoc_xx_pre(MDOC_ARGS) |
|
|
|
switch (n->tok) { |
switch (n->tok) { |
case (MDOC_Bsx): |
case (MDOC_Bsx): |
pp = "BSDI BSD/OS"; |
pp = "BSD/OS"; |
break; |
break; |
case (MDOC_Dx): |
case (MDOC_Dx): |
pp = "DragonFly"; |
pp = "DragonFly"; |
Line 1316 mdoc_bd_pre(MDOC_ARGS) |
|
Line 1316 mdoc_bd_pre(MDOC_ARGS) |
|
|
|
for (nn = n->child; nn; nn = nn->next) { |
for (nn = n->child; nn; nn = nn->next) { |
print_mdoc_node(m, nn, h); |
print_mdoc_node(m, nn, h); |
|
/* |
|
* If the printed node flushes its own line, then we |
|
* needn't do it here as well. This is hacky, but the |
|
* notion of selective eoln whitespace is pretty dumb |
|
* anyway, so don't sweat it. |
|
*/ |
|
switch (nn->tok) { |
|
case (MDOC_Sm): |
|
/* FALLTHROUGH */ |
|
case (MDOC_br): |
|
/* FALLTHROUGH */ |
|
case (MDOC_sp): |
|
/* FALLTHROUGH */ |
|
case (MDOC_Bl): |
|
/* FALLTHROUGH */ |
|
case (MDOC_Lp): |
|
/* FALLTHROUGH */ |
|
case (MDOC_Pp): |
|
continue; |
|
default: |
|
break; |
|
} |
if (nn->next && nn->next->line == nn->line) |
if (nn->next && nn->next->line == nn->line) |
continue; |
continue; |
print_text(h, "\n"); |
print_text(h, "\n"); |
Line 1583 mdoc_sm_pre(MDOC_ARGS) |
|
Line 1605 mdoc_sm_pre(MDOC_ARGS) |
|
|
|
assert(n->child && MDOC_TEXT == n->child->type); |
assert(n->child && MDOC_TEXT == n->child->type); |
if (0 == strcmp("on", n->child->string)) { |
if (0 == strcmp("on", n->child->string)) { |
/* FIXME: no p->col to check... */ |
/* |
|
* FIXME: no p->col to check. Thus, if we have |
|
* .Bd -literal |
|
* .Sm off |
|
* 1 2 |
|
* .Sm on |
|
* 3 |
|
* .Ed |
|
* the "3" is preceded by a space. |
|
*/ |
h->flags &= ~HTML_NOSPACE; |
h->flags &= ~HTML_NOSPACE; |
h->flags &= ~HTML_NONOSPACE; |
h->flags &= ~HTML_NONOSPACE; |
} else |
} else |
Line 1644 mdoc_lk_pre(MDOC_ARGS) |
|
Line 1675 mdoc_lk_pre(MDOC_ARGS) |
|
PAIR_HREF_INIT(&tag[1], nn->string); |
PAIR_HREF_INIT(&tag[1], nn->string); |
print_otag(h, TAG_A, 2, tag); |
print_otag(h, TAG_A, 2, tag); |
|
|
if (NULL == nn->next) |
if (NULL == nn || NULL == nn->next) |
return(1); |
return(1); |
|
|
for (nn = nn->next; nn; nn = nn->next) |
for (nn = nn->next; nn; nn = nn->next) |
Line 1891 mdoc_ms_pre(MDOC_ARGS) |
|
Line 1922 mdoc_ms_pre(MDOC_ARGS) |
|
|
|
/* ARGSUSED */ |
/* ARGSUSED */ |
static int |
static int |
mdoc_pf_pre(MDOC_ARGS) |
mdoc_igndelim_pre(MDOC_ARGS) |
{ |
{ |
|
|
h->flags |= HTML_IGNDELIM; |
h->flags |= HTML_IGNDELIM; |
|
|
mdoc_pf_post(MDOC_ARGS) |
mdoc_pf_post(MDOC_ARGS) |
{ |
{ |
|
|
h->flags &= ~HTML_IGNDELIM; |
|
h->flags |= HTML_NOSPACE; |
h->flags |= HTML_NOSPACE; |
} |
} |
|
|
Line 2137 mdoc_quote_pre(MDOC_ARGS) |
|
Line 2167 mdoc_quote_pre(MDOC_ARGS) |
|
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Op): |
case (MDOC_Op): |
print_text(h, "\\(lB"); |
print_text(h, "\\(lB"); |
|
h->flags |= HTML_NOSPACE; |
PAIR_CLASS_INIT(&tag, "opt"); |
PAIR_CLASS_INIT(&tag, "opt"); |
print_otag(h, TAG_SPAN, 1, &tag); |
print_otag(h, TAG_SPAN, 1, &tag); |
break; |
break; |