version 1.213, 2017/02/11 13:24:12 |
version 1.215, 2017/02/11 15:47:16 |
Line 400 find_pending(struct roff_man *mdoc, int tok, int line, |
|
Line 400 find_pending(struct roff_man *mdoc, int tok, int line, |
|
struct roff_node *n; |
struct roff_node *n; |
int irc; |
int irc; |
|
|
|
if (target->flags & NODE_VALID) |
|
return 0; |
|
|
irc = 0; |
irc = 0; |
for (n = mdoc->last; n != NULL && n != target; n = n->parent) { |
for (n = mdoc->last; n != NULL && n != target; n = n->parent) { |
if (n->flags & NODE_ENDED) |
if (n->flags & NODE_ENDED) |
Line 647 blk_exp_close(MACRO_PROT_ARGS) |
|
Line 650 blk_exp_close(MACRO_PROT_ARGS) |
|
break; |
break; |
} |
} |
|
|
/* Explicit blocks close out description lines. */ |
/* |
|
* Explicit blocks close out description lines, but |
|
* even those can get broken together with a child. |
|
*/ |
|
|
if (n->tok == MDOC_Nd) { |
if (n->tok == MDOC_Nd) { |
rew_last(mdoc, n); |
if (later != NULL) |
|
n->flags |= NODE_BROKEN | NODE_ENDED; |
|
else |
|
rew_last(mdoc, n); |
continue; |
continue; |
} |
} |
|
|
Line 727 blk_exp_close(MACRO_PROT_ARGS) |
|
Line 736 blk_exp_close(MACRO_PROT_ARGS) |
|
do |
do |
target = target->parent; |
target = target->parent; |
while ( ! (target->flags & NODE_ENDED)); |
while ( ! (target->flags & NODE_ENDED)); |
if ( ! (target->flags & NODE_VALID)) |
pending = find_pending(mdoc, ntok, line, ppos, target); |
pending = find_pending(mdoc, ntok, |
|
line, ppos, target); |
|
} |
} |
if ( ! pending) |
if ( ! pending) |
rew_pending(mdoc, n); |
rew_pending(mdoc, n); |