version 1.72, 2010/05/30 21:41:46 |
version 1.73, 2010/05/30 21:50:23 |
Line 1002 blk_full(MACRO_PROT_ARGS) |
|
Line 1002 blk_full(MACRO_PROT_ARGS) |
|
} |
} |
|
|
ac = ARGS_ERROR; |
ac = ARGS_ERROR; |
lac = ARGS_PHRASE; |
|
|
|
for ( ; ; ) { |
for ( ; ; ) { |
la = *pos; |
la = *pos; |
lac = ac; |
/* Initialise last-phrase-type with ARGS_PHRASE. */ |
|
lac = ARGS_ERROR == ac ? ARGS_PHRASE : ac; |
ac = mdoc_args(m, line, pos, buf, tok, &p); |
ac = mdoc_args(m, line, pos, buf, tok, &p); |
|
|
if (ARGS_ERROR == ac) |
if (ARGS_ERROR == ac) |
Line 1014 blk_full(MACRO_PROT_ARGS) |
|
Line 1014 blk_full(MACRO_PROT_ARGS) |
|
if (ARGS_EOLN == ac) |
if (ARGS_EOLN == ac) |
break; |
break; |
|
|
/* Don't emit leading punct. for phrases. */ |
/* |
|
* Emit leading punctuation (i.e., punctuation before |
|
* the MDOC_HEAD) for non-phrase types. |
|
*/ |
|
|
if (NULL == head && |
if (NULL == head && |
ARGS_PEND != ac && |
ARGS_PEND != ac && |
Line 1027 blk_full(MACRO_PROT_ARGS) |
|
Line 1030 blk_full(MACRO_PROT_ARGS) |
|
continue; |
continue; |
} |
} |
|
|
/* Always re-open head for phrases. */ |
/* |
|
* Open a head if one hasn't been opened. Re-open head |
|
* for phrases. |
|
*/ |
|
|
if (NULL == head || |
if (NULL == head || |
ARGS_PEND == ac || |
ARGS_PEND == ac || |
Line 1041 blk_full(MACRO_PROT_ARGS) |
|
Line 1047 blk_full(MACRO_PROT_ARGS) |
|
if (ARGS_PHRASE == ac || |
if (ARGS_PHRASE == ac || |
ARGS_PEND == ac || |
ARGS_PEND == ac || |
ARGS_PPHRASE == ac) { |
ARGS_PPHRASE == ac) { |
|
/* |
|
* Process phrases: set whether we're in a |
|
* partial-phrase (this effects line handling) |
|
* then call down into the phrase parser. |
|
*/ |
if (ARGS_PPHRASE == ac) |
if (ARGS_PPHRASE == ac) |
m->flags |= MDOC_PPHRASE; |
m->flags |= MDOC_PPHRASE; |
if (ARGS_PEND == ac && ARGS_PPHRASE == lac) |
if (ARGS_PEND == ac && ARGS_PPHRASE == lac) |
Line 1053 blk_full(MACRO_PROT_ARGS) |
|
Line 1064 blk_full(MACRO_PROT_ARGS) |
|
return(0); |
return(0); |
|
|
m->flags &= ~MDOC_PPHRASE; |
m->flags &= ~MDOC_PPHRASE; |
|
|
|
/* Close out active phrase. */ |
|
|
if ( ! rew_sub(MDOC_HEAD, m, tok, line, ppos)) |
if ( ! rew_sub(MDOC_HEAD, m, tok, line, ppos)) |
return(0); |
return(0); |