version 1.223, 2017/05/05 15:17:32 |
version 1.224, 2017/05/30 16:22:03 |
Line 76 const struct mdoc_macro __mdoc_macros[MDOC_MAX - MDOC_ |
|
Line 76 const struct mdoc_macro __mdoc_macros[MDOC_MAX - MDOC_ |
|
{ blk_full, MDOC_PARSED | MDOC_JOIN }, /* It */ |
{ blk_full, MDOC_PARSED | MDOC_JOIN }, /* It */ |
{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Ad */ |
{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Ad */ |
{ in_line, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* An */ |
{ in_line, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* An */ |
{ in_line_argn, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* Ap */ |
{ in_line_argn, MDOC_CALLABLE | MDOC_PARSED | |
|
MDOC_IGNDELIM | MDOC_JOIN }, /* Ap */ |
{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Ar */ |
{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Ar */ |
{ in_line, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* Cd */ |
{ in_line, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* Cd */ |
{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Cm */ |
{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Cm */ |
Line 712 blk_exp_close(MACRO_PROT_ARGS) |
|
Line 713 blk_exp_close(MACRO_PROT_ARGS) |
|
if (ac == ARGS_PUNCT || ac == ARGS_EOLN) |
if (ac == ARGS_PUNCT || ac == ARGS_EOLN) |
break; |
break; |
|
|
ntok = ac == ARGS_QWORD ? TOKEN_NONE : |
ntok = lookup(mdoc, tok, line, lastarg, p); |
lookup(mdoc, tok, line, lastarg, p); |
|
|
|
if (ntok == TOKEN_NONE) { |
if (ntok == TOKEN_NONE) { |
dword(mdoc, line, lastarg, p, DELIM_MAX, |
dword(mdoc, line, lastarg, p, DELIM_MAX, |
Line 809 in_line(MACRO_PROT_ARGS) |
|
Line 809 in_line(MACRO_PROT_ARGS) |
|
break; |
break; |
} |
} |
|
|
ntok = (ac == ARGS_QWORD || (tok == MDOC_Fn && !cnt)) ? |
ntok = (tok == MDOC_Fn && !cnt) ? |
TOKEN_NONE : lookup(mdoc, tok, line, la, p); |
TOKEN_NONE : lookup(mdoc, tok, line, la, p); |
|
|
/* |
/* |
Line 838 in_line(MACRO_PROT_ARGS) |
|
Line 838 in_line(MACRO_PROT_ARGS) |
|
} |
} |
|
|
/* |
/* |
* Non-quote-enclosed punctuation. Set up our scope, if |
* Handle punctuation. Set up our scope, if a word; |
* a word; rewind the scope, if a delimiter; then append |
* rewind the scope, if a delimiter; then append the word. |
* the word. |
|
*/ |
*/ |
|
|
d = ac == ARGS_QWORD ? DELIM_NONE : mdoc_isdelim(p); |
if ((d = mdoc_isdelim(p)) != DELIM_NONE) { |
|
|
if (DELIM_NONE != d) { |
|
/* |
/* |
* If we encounter closing punctuation, no word |
* If we encounter closing punctuation, no word |
* has been emitted, no scope is open, and we're |
* has been emitted, no scope is open, and we're |
Line 865 in_line(MACRO_PROT_ARGS) |
|
Line 862 in_line(MACRO_PROT_ARGS) |
|
* Close out our scope, if one is open, before |
* Close out our scope, if one is open, before |
* any punctuation. |
* any punctuation. |
*/ |
*/ |
if (scope) |
if (scope && tok != MDOC_Lk) { |
rew_elem(mdoc, tok); |
rew_elem(mdoc, tok); |
scope = 0; |
scope = 0; |
if (tok == MDOC_Fn) |
if (tok == MDOC_Fn) |
mayopen = 0; |
mayopen = 0; |
|
} |
} else if (mayopen && !scope) { |
} else if (mayopen && !scope) { |
mdoc_elem_alloc(mdoc, line, ppos, tok, arg); |
mdoc_elem_alloc(mdoc, line, ppos, tok, arg); |
scope = 1; |
scope = 1; |
Line 1115 blk_full(MACRO_PROT_ARGS) |
|
Line 1113 blk_full(MACRO_PROT_ARGS) |
|
|
|
if (head == NULL && |
if (head == NULL && |
ac != ARGS_PHRASE && |
ac != ARGS_PHRASE && |
ac != ARGS_QWORD && |
|
mdoc_isdelim(p) == DELIM_OPEN) { |
mdoc_isdelim(p) == DELIM_OPEN) { |
dword(mdoc, line, la, p, DELIM_OPEN, 0); |
dword(mdoc, line, la, p, DELIM_OPEN, 0); |
continue; |
continue; |
Line 1212 blk_part_imp(MACRO_PROT_ARGS) |
|
Line 1209 blk_part_imp(MACRO_PROT_ARGS) |
|
if (ac == ARGS_EOLN || ac == ARGS_PUNCT) |
if (ac == ARGS_EOLN || ac == ARGS_PUNCT) |
break; |
break; |
|
|
if (body == NULL && ac != ARGS_QWORD && |
if (body == NULL && mdoc_isdelim(p) == DELIM_OPEN) { |
mdoc_isdelim(p) == DELIM_OPEN) { |
|
dword(mdoc, line, la, p, DELIM_OPEN, 0); |
dword(mdoc, line, la, p, DELIM_OPEN, 0); |
continue; |
continue; |
} |
} |
Line 1269 blk_part_exp(MACRO_PROT_ARGS) |
|
Line 1265 blk_part_exp(MACRO_PROT_ARGS) |
|
|
|
/* Flush out leading punctuation. */ |
/* Flush out leading punctuation. */ |
|
|
if (head == NULL && ac != ARGS_QWORD && |
if (head == NULL && mdoc_isdelim(p) == DELIM_OPEN) { |
mdoc_isdelim(p) == DELIM_OPEN) { |
|
dword(mdoc, line, la, p, DELIM_OPEN, 0); |
dword(mdoc, line, la, p, DELIM_OPEN, 0); |
continue; |
continue; |
} |
} |
Line 1369 in_line_argn(MACRO_PROT_ARGS) |
|
Line 1364 in_line_argn(MACRO_PROT_ARGS) |
|
state = -2; |
state = -2; |
} |
} |
|
|
ntok = (ac == ARGS_QWORD || (tok == MDOC_Pf && state == 0)) ? |
ntok = (tok == MDOC_Pf && state == 0) ? |
TOKEN_NONE : lookup(mdoc, tok, line, la, p); |
TOKEN_NONE : lookup(mdoc, tok, line, la, p); |
|
|
if (ntok != TOKEN_NONE) { |
if (ntok != TOKEN_NONE) { |
Line 1381 in_line_argn(MACRO_PROT_ARGS) |
|
Line 1376 in_line_argn(MACRO_PROT_ARGS) |
|
break; |
break; |
} |
} |
|
|
if (ac == ARGS_QWORD || |
if (mdoc_macros[tok].flags & MDOC_IGNDELIM || |
mdoc_macros[tok].flags & MDOC_IGNDELIM || |
|
mdoc_isdelim(p) == DELIM_NONE) { |
mdoc_isdelim(p) == DELIM_NONE) { |
if (state == -1) { |
if (state == -1) { |
mdoc_elem_alloc(mdoc, line, ppos, tok, arg); |
mdoc_elem_alloc(mdoc, line, ppos, tok, arg); |