version 1.163, 2015/02/01 17:30:45 |
version 1.165, 2015/02/02 04:04:45 |
Line 1077 blk_full(MACRO_PROT_ARGS) |
|
Line 1077 blk_full(MACRO_PROT_ARGS) |
|
{ |
{ |
int la, nl, parsed; |
int la, nl, parsed; |
struct mdoc_arg *arg; |
struct mdoc_arg *arg; |
struct mdoc_node *head; /* save of head macro */ |
struct mdoc_node *blk; /* Our own block. */ |
struct mdoc_node *body; /* save of body macro */ |
struct mdoc_node *head; /* Our own head. */ |
|
struct mdoc_node *body; /* Our own body. */ |
struct mdoc_node *n; |
struct mdoc_node *n; |
enum margserr ac, lac; |
enum margserr ac, lac; |
char *p; |
char *p; |
Line 1118 blk_full(MACRO_PROT_ARGS) |
|
Line 1119 blk_full(MACRO_PROT_ARGS) |
|
*/ |
*/ |
|
|
mdoc_argv(mdoc, line, tok, &arg, pos, buf); |
mdoc_argv(mdoc, line, tok, &arg, pos, buf); |
mdoc_block_alloc(mdoc, line, ppos, tok, arg); |
blk = mdoc_block_alloc(mdoc, line, ppos, tok, arg); |
head = body = NULL; |
head = body = NULL; |
|
|
/* |
/* |
Line 1218 blk_full(MACRO_PROT_ARGS) |
|
Line 1219 blk_full(MACRO_PROT_ARGS) |
|
break; |
break; |
} |
} |
|
|
|
if (blk->flags & MDOC_VALID) |
|
return; |
if (head == NULL) |
if (head == NULL) |
head = mdoc_head_alloc(mdoc, line, ppos, tok); |
head = mdoc_head_alloc(mdoc, line, ppos, tok); |
if (nl) |
if (nl) |
Line 1321 blk_part_imp(MACRO_PROT_ARGS) |
|
Line 1324 blk_part_imp(MACRO_PROT_ARGS) |
|
} |
} |
} |
} |
assert(n == body); |
assert(n == body); |
rew_sub(MDOC_BODY, mdoc, tok, line, ppos); |
rew_last(mdoc, body); |
if (nl) |
if (nl) |
append_delims(mdoc, line, pos, buf); |
append_delims(mdoc, line, pos, buf); |
rew_sub(MDOC_BLOCK, mdoc, tok, line, ppos); |
rew_last(mdoc, blk); |
|
|
|
/* |
|
* The current block extends an enclosing block. |
|
* Now that the current block ends, close the enclosing block, too. |
|
*/ |
|
|
|
while ((blk = blk->pending) != NULL) { |
|
rew_last(mdoc, blk); |
|
if (blk->type == MDOC_HEAD) |
|
mdoc_body_alloc(mdoc, blk->line, blk->pos, blk->tok); |
|
} |
|
|
/* Move trailing .Ns out of scope. */ |
/* Move trailing .Ns out of scope. */ |
|
|