version 1.56, 2010/05/07 05:54:09 |
version 1.58, 2010/05/08 07:30:19 |
Line 45 static int obsolete(MACRO_PROT_ARGS); |
|
Line 45 static int obsolete(MACRO_PROT_ARGS); |
|
|
|
static int append_delims(struct mdoc *, |
static int append_delims(struct mdoc *, |
int, int *, char *); |
int, int *, char *); |
static enum mdoct lookup(int, const char *); |
static enum mdoct lookup(enum mdoct, const char *); |
static enum mdoct lookup_raw(const char *); |
static enum mdoct lookup_raw(const char *); |
static int phrase(struct mdoc *, int, int, char *); |
static int phrase(struct mdoc *, int, int, char *); |
static enum mdoct rew_alt(enum mdoct); |
static enum mdoct rew_alt(enum mdoct); |
Line 267 mdoc_macroend(struct mdoc *m) |
|
Line 267 mdoc_macroend(struct mdoc *m) |
|
* Look up a macro from within a subsequent context. |
* Look up a macro from within a subsequent context. |
*/ |
*/ |
static enum mdoct |
static enum mdoct |
lookup(int from, const char *p) |
lookup(enum mdoct from, const char *p) |
{ |
{ |
/* FIXME: make -diag lists be un-PARSED. */ |
/* FIXME: make -diag lists be un-PARSED. */ |
|
|
Line 283 lookup(int from, const char *p) |
|
Line 283 lookup(int from, const char *p) |
|
static enum mdoct |
static enum mdoct |
lookup_raw(const char *p) |
lookup_raw(const char *p) |
{ |
{ |
int res; |
enum mdoct res; |
|
|
if (MDOC_MAX == (res = mdoc_hash_find(p))) |
if (MDOC_MAX == (res = mdoc_hash_find(p))) |
return(MDOC_MAX); |
return(MDOC_MAX); |
Line 632 append_delims(struct mdoc *mdoc, int line, int *pos, c |
|
Line 632 append_delims(struct mdoc *mdoc, int line, int *pos, c |
|
for (;;) { |
for (;;) { |
lastarg = *pos; |
lastarg = *pos; |
ac = mdoc_zargs(mdoc, line, pos, buf, ARGS_NOWARN, &p); |
ac = mdoc_zargs(mdoc, line, pos, buf, ARGS_NOWARN, &p); |
assert(ARGS_PHRASE != ac); |
|
|
|
if (ARGS_ERROR == ac) |
if (ARGS_ERROR == ac) |
return(0); |
return(0); |
Line 965 blk_full(MACRO_PROT_ARGS) |
|
Line 964 blk_full(MACRO_PROT_ARGS) |
|
/* Don't emit leading punct. for phrases. */ |
/* Don't emit leading punct. for phrases. */ |
|
|
if (NULL == head && ARGS_PHRASE != ac && |
if (NULL == head && ARGS_PHRASE != ac && |
|
ARGS_PPHRASE != ac && |
ARGS_QWORD != ac && |
ARGS_QWORD != ac && |
1 == mdoc_isdelim(p)) { |
1 == mdoc_isdelim(p)) { |
if ( ! mdoc_word_alloc(m, line, la, p)) |
if ( ! mdoc_word_alloc(m, line, la, p)) |
Line 974 blk_full(MACRO_PROT_ARGS) |
|
Line 974 blk_full(MACRO_PROT_ARGS) |
|
|
|
/* Always re-open head for phrases. */ |
/* Always re-open head for phrases. */ |
|
|
if (NULL == head || ARGS_PHRASE == ac) { |
if (NULL == head || ARGS_PHRASE == ac || |
|
ARGS_PPHRASE == ac) { |
if ( ! mdoc_head_alloc(m, line, ppos, tok)) |
if ( ! mdoc_head_alloc(m, line, ppos, tok)) |
return(0); |
return(0); |
head = m->last; |
head = m->last; |
} |
} |
|
|
if (ARGS_PHRASE == ac) { |
if (ARGS_PHRASE == ac || ARGS_PPHRASE == ac) { |
if ( ! phrase(m, line, la, buf)) |
if ( ! phrase(m, line, la, buf)) |
return(0); |
return(0); |
if ( ! rew_sub(MDOC_HEAD, m, tok, line, ppos)) |
if ( ! rew_sub(MDOC_HEAD, m, tok, line, ppos)) |
Line 1084 blk_part_imp(MACRO_PROT_ARGS) |
|
Line 1085 blk_part_imp(MACRO_PROT_ARGS) |
|
la = *pos; |
la = *pos; |
ac = mdoc_args(m, line, pos, buf, tok, &p); |
ac = mdoc_args(m, line, pos, buf, tok, &p); |
|
|
assert(ARGS_PHRASE != ac); |
|
|
|
if (ARGS_ERROR == ac) |
if (ARGS_ERROR == ac) |
return(0); |
return(0); |
if (ARGS_EOLN == ac) |
if (ARGS_EOLN == ac) |
Line 1186 blk_part_exp(MACRO_PROT_ARGS) |
|
Line 1185 blk_part_exp(MACRO_PROT_ARGS) |
|
break; |
break; |
if (ARGS_EOLN == ac) |
if (ARGS_EOLN == ac) |
break; |
break; |
|
|
assert(ARGS_PHRASE != ac); |
|
|
|
/* Flush out leading punctuation. */ |
/* Flush out leading punctuation. */ |
|
|