version 1.64, 2009/03/09 14:19:59 |
version 1.65, 2009/03/10 15:01:54 |
|
|
* macro. |
* macro. |
*/ |
*/ |
|
|
|
/* FIXME: .Fl, .Ar, .Cd handling of `|'. */ |
|
|
static int macro_obsolete(MACRO_PROT_ARGS); |
static int macro_obsolete(MACRO_PROT_ARGS); |
static int macro_constant(MACRO_PROT_ARGS); |
static int macro_constant(MACRO_PROT_ARGS); |
static int macro_constant_scoped(MACRO_PROT_ARGS); |
static int macro_constant_scoped(MACRO_PROT_ARGS); |
Line 798 macro_text(MACRO_PROT_ARGS) |
|
Line 800 macro_text(MACRO_PROT_ARGS) |
|
for (;;) { |
for (;;) { |
la = *pos; |
la = *pos; |
w = mdoc_args(mdoc, line, pos, buf, tok, &p); |
w = mdoc_args(mdoc, line, pos, buf, tok, &p); |
assert(ARGS_PHRASE != c); |
assert(ARGS_PHRASE != w); |
|
|
if (ARGS_ERROR == w) |
if (ARGS_ERROR == w) |
return(0); |
return(0); |
Line 807 macro_text(MACRO_PROT_ARGS) |
|
Line 809 macro_text(MACRO_PROT_ARGS) |
|
if (ARGS_PUNCT == w) |
if (ARGS_PUNCT == w) |
break; |
break; |
|
|
|
/* Quoted words shouldn't be looked-up. */ |
|
|
c = ARGS_QWORD == w ? MDOC_MAX : |
c = ARGS_QWORD == w ? MDOC_MAX : |
lookup(mdoc, line, la, tok, p); |
lookup(mdoc, line, la, tok, p); |
|
|
|
/* MDOC_MAX (not a macro) or -1 (error). */ |
|
|
if (MDOC_MAX != c && -1 != c) { |
if (MDOC_MAX != c && -1 != c) { |
if (0 == lastpunct && ! rewind_elem(mdoc, tok)) |
if (0 == lastpunct && ! rewind_elem(mdoc, tok)) |
return(0); |
return(0); |
Line 822 macro_text(MACRO_PROT_ARGS) |
|
Line 828 macro_text(MACRO_PROT_ARGS) |
|
} else if (-1 == c) |
} else if (-1 == c) |
return(0); |
return(0); |
|
|
/* FIXME: .Fl and .Ar handling of `|'. */ |
/* Non-quote-enclosed punctuation. */ |
|
|
if (ARGS_QWORD != w && mdoc_isdelim(p)) { |
if (ARGS_QWORD != w && mdoc_isdelim(p)) { |
if (0 == lastpunct && ! rewind_elem(mdoc, tok)) |
if (0 == lastpunct && ! rewind_elem(mdoc, tok)) |