version 1.23, 2009/02/25 23:18:50 |
version 1.24, 2009/02/26 14:56:27 |
Line 381 termp_it_pre(DECL_ARGS) |
|
Line 381 termp_it_pre(DECL_ARGS) |
|
|
|
/* Get our list type. */ |
/* Get our list type. */ |
|
|
for (i = 0; i < (int)bl->argc; i++) |
for (type = -1, i = 0; i < (int)bl->argc; i++) |
switch (bl->argv[i].arg) { |
switch (bl->argv[i].arg) { |
case (MDOC_Bullet): |
case (MDOC_Bullet): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
Line 391 termp_it_pre(DECL_ARGS) |
|
Line 391 termp_it_pre(DECL_ARGS) |
|
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Hyphen): |
case (MDOC_Hyphen): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Item): |
|
/* FALLTHROUGH */ |
|
case (MDOC_Tag): |
case (MDOC_Tag): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Ohang): |
case (MDOC_Ohang): |
type = bl->argv[i].arg; |
type = bl->argv[i].arg; |
i = (int)bl->argc; |
i = (int)bl->argc; |
break; |
break; |
case (MDOC_Inset): |
default: |
/* FALLTHROUGH */ |
|
case (MDOC_Hang): |
|
/* FALLTHROUGH */ |
|
case (MDOC_Diag): |
|
/* FALLTHROUGH */ |
|
case (MDOC_Column): |
|
errx(1, "list type not supported"); |
errx(1, "list type not supported"); |
/* NOTREACHED */ |
/* NOTREACHED */ |
default: |
|
break; |
|
} |
} |
|
|
|
assert(-1 != type); |
|
|
/* Save our existing (inherited) margin and offset. */ |
/* Save our existing (inherited) margin and offset. */ |
|
|
pair->offset = p->offset; |
pair->offset = p->offset; |
Line 419 termp_it_pre(DECL_ARGS) |
|
Line 411 termp_it_pre(DECL_ARGS) |
|
|
|
/* Get list width and offset. */ |
/* Get list width and offset. */ |
|
|
/* FIXME: auto-size. */ |
|
i = arg_getattr(MDOC_Width, bl->argc, bl->argv); |
i = arg_getattr(MDOC_Width, bl->argc, bl->argv); |
width = i >= 0 ? arg_width(&bl->argv[i]) : 0; |
width = i >= 0 ? arg_width(&bl->argv[i]) : 0; |
|
|
Line 439 termp_it_pre(DECL_ARGS) |
|
Line 430 termp_it_pre(DECL_ARGS) |
|
width = width > 6 ? width : 6; |
width = width > 6 ? width : 6; |
break; |
break; |
case (MDOC_Tag): |
case (MDOC_Tag): |
|
/* FIXME: auto-size. */ |
if (0 == width) |
if (0 == width) |
errx(1, "need non-zero -width"); |
errx(1, "need non-zero -width"); |
break; |
break; |
Line 465 termp_it_pre(DECL_ARGS) |
|
Line 457 termp_it_pre(DECL_ARGS) |
|
else if (MDOC_BODY == node->type) |
else if (MDOC_BODY == node->type) |
p->flags |= TERMP_NOLPAD; |
p->flags |= TERMP_NOLPAD; |
break; |
break; |
case (MDOC_Ohang): |
default: |
break; |
break; |
} |
} |
|
|
Line 475 termp_it_pre(DECL_ARGS) |
|
Line 467 termp_it_pre(DECL_ARGS) |
|
*/ |
*/ |
|
|
tp = NULL; |
tp = NULL; |
|
|
if (MDOC_HEAD == node->type) { |
if (MDOC_HEAD == node->type) { |
if (arg_hasattr(MDOC_Bullet, bl->argc, bl->argv)) |
if (arg_hasattr(MDOC_Bullet, bl->argc, bl->argv)) |
tp = "\\[bu]"; |
tp = "\\[bu]"; |
Line 488 termp_it_pre(DECL_ARGS) |
|
Line 481 termp_it_pre(DECL_ARGS) |
|
} |
} |
if (arg_hasattr(MDOC_Hyphen, bl->argc, bl->argv)) |
if (arg_hasattr(MDOC_Hyphen, bl->argc, bl->argv)) |
tp = "\\-"; |
tp = "\\-"; |
if (arg_hasattr(MDOC_Item, bl->argc, bl->argv)) |
|
tp = ""; |
|
} |
} |
|
|
/* Margin control. */ |
/* Margin control. */ |
Line 505 termp_it_pre(DECL_ARGS) |
|
Line 496 termp_it_pre(DECL_ARGS) |
|
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Hyphen): |
case (MDOC_Hyphen): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Item): |
|
/* FALLTHROUGH */ |
|
case (MDOC_Tag): |
case (MDOC_Tag): |
if (MDOC_HEAD == node->type) |
if (MDOC_HEAD == node->type) |
p->rmargin = p->offset + width; |
p->rmargin = p->offset + width; |
else if (MDOC_BODY == node->type) |
else if (MDOC_BODY == node->type) |
p->offset += width; |
p->offset += width; |
break; |
break; |
case (MDOC_Ohang): |
default: |
break; |
break; |
} |
} |
|
|
if (NULL == tp) |
if (NULL == tp) |
return(1); |
return(1); |
|
|
/* XXX - ignoring children. */ |
|
|
|
word(p, tp); |
word(p, tp); |
return(0); |
return(0); |