version 1.216, 2017/02/16 03:00:23 |
version 1.217, 2017/02/16 09:47:31 |
Line 381 rew_elem(struct roff_man *mdoc, int tok) |
|
Line 381 rew_elem(struct roff_man *mdoc, int tok) |
|
static void |
static void |
break_intermediate(struct roff_node *n, struct roff_node *breaker) |
break_intermediate(struct roff_node *n, struct roff_node *breaker) |
{ |
{ |
|
if (n != breaker && |
|
n->type != ROFFT_BLOCK && n->type != ROFFT_HEAD && |
|
(n->type != ROFFT_BODY || n->end != ENDBODY_NOT)) |
|
n = n->parent; |
while (n != breaker) { |
while (n != breaker) { |
if ( ! (n->flags & NODE_VALID)) |
if ( ! (n->flags & NODE_VALID)) |
n->flags |= NODE_BROKEN; |
n->flags |= NODE_BROKEN; |
Line 410 find_pending(struct roff_man *mdoc, int tok, int line, |
|
Line 414 find_pending(struct roff_man *mdoc, int tok, int line, |
|
if (n->type == ROFFT_BLOCK && |
if (n->type == ROFFT_BLOCK && |
mdoc_macros[n->tok].flags & MDOC_EXPLICIT) { |
mdoc_macros[n->tok].flags & MDOC_EXPLICIT) { |
irc = 1; |
irc = 1; |
break_intermediate(mdoc->last, n); |
break_intermediate(mdoc->last, target); |
n->flags |= NODE_BROKEN; |
|
if (target->type == ROFFT_HEAD) |
if (target->type == ROFFT_HEAD) |
target->flags |= NODE_ENDED; |
target->flags |= NODE_ENDED; |
else if ( ! (target->flags & NODE_ENDED)) { |
else if ( ! (target->flags & NODE_ENDED)) { |