version 1.58, 2009/07/23 08:36:32 |
version 1.59, 2009/07/23 09:40:25 |
Line 670 fmt_block_vspace(struct termp *p, |
|
Line 670 fmt_block_vspace(struct termp *p, |
|
|
|
term_newln(p); |
term_newln(p); |
|
|
if (arg_hasattr(MDOC_Compact, bl)) |
if (MDOC_Bl == bl->tok && arg_hasattr(MDOC_Compact, bl)) |
return; |
return; |
|
|
/* |
/* |
Line 695 fmt_block_vspace(struct termp *p, |
|
Line 695 fmt_block_vspace(struct termp *p, |
|
* within the list. |
* within the list. |
*/ |
*/ |
|
|
if (arg_hasattr(MDOC_Column, bl)) |
if (MDOC_Bl == bl->tok && arg_hasattr(MDOC_Column, bl)) |
if (node->prev && MDOC_It == node->prev->tok) |
if (node->prev && MDOC_It == node->prev->tok) |
return; |
return; |
|
|
Line 703 fmt_block_vspace(struct termp *p, |
|
Line 703 fmt_block_vspace(struct termp *p, |
|
* XXX - not documented: a `-diag' without a body does not |
* XXX - not documented: a `-diag' without a body does not |
* assert a vspace prior to the next element. |
* assert a vspace prior to the next element. |
*/ |
*/ |
if (arg_hasattr(MDOC_Diag, bl)) |
if (MDOC_Bl == bl->tok && arg_hasattr(MDOC_Diag, bl)) |
if (node->prev && MDOC_It == node->prev->tok) { |
if (node->prev && MDOC_It == node->prev->tok) { |
assert(node->prev->body); |
assert(node->prev->body); |
if (NULL == node->prev->body->child) |
if (NULL == node->prev->body->child) |
Line 908 termp_it_pre(DECL_ARGS) |
|
Line 908 termp_it_pre(DECL_ARGS) |
|
else |
else |
p->flags |= TERMP_NOLPAD; |
p->flags |= TERMP_NOLPAD; |
|
|
if (MDOC_HEAD == node->type) |
if (MDOC_HEAD != node->type) |
|
break; |
|
|
|
/* |
|
* This is ugly. If `-hang' is specified and the body |
|
* is a `Bl' or `Bd', then we want basically to nullify |
|
* the "overstep" effect in term_flushln() and treat |
|
* this as a `-ohang' list instead. |
|
*/ |
|
if (node->next->child && |
|
(MDOC_Bl == node->next->child->tok || |
|
MDOC_Bd == node->next->child->tok)) { |
|
p->flags &= ~TERMP_NOBREAK; |
|
p->flags &= ~TERMP_NOLPAD; |
|
} else |
p->flags |= TERMP_HANG; |
p->flags |= TERMP_HANG; |
break; |
break; |
case (MDOC_Tag): |
case (MDOC_Tag): |
Line 950 termp_it_pre(DECL_ARGS) |
|
Line 964 termp_it_pre(DECL_ARGS) |
|
p->offset += offset; |
p->offset += offset; |
|
|
switch (type) { |
switch (type) { |
|
case (MDOC_Hang): |
|
/* |
|
* Same stipulation as above, regarding `-hang'. We |
|
* don't want to recalculate rmargin and offsets when |
|
* using `Bd' or `Bl' within `-hang' overstep lists. |
|
*/ |
|
if (MDOC_HEAD == node->type && node->next->child && |
|
(MDOC_Bl == node->next->child->tok || |
|
MDOC_Bd == node->next->child->tok)) |
|
break; |
|
/* FALLTHROUGH */ |
case (MDOC_Bullet): |
case (MDOC_Bullet): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Dash): |
case (MDOC_Dash): |
Line 957 termp_it_pre(DECL_ARGS) |
|
Line 982 termp_it_pre(DECL_ARGS) |
|
case (MDOC_Enum): |
case (MDOC_Enum): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Hyphen): |
case (MDOC_Hyphen): |
/* FALLTHROUGH */ |
|
case (MDOC_Hang): |
|
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Tag): |
case (MDOC_Tag): |
assert(width); |
assert(width); |