version 1.67, 2011/04/24 16:49:10 |
version 1.68, 2011/05/29 21:22:18 |
|
|
|
|
for (;;) { |
for (;;) { |
la = *pos; |
la = *pos; |
ac = mdoc_zargs(m, line, pos, buf, ARGS_NOWARN, &p); |
ac = mdoc_zargs(m, line, pos, buf, &p); |
|
|
if (ARGS_ERROR == ac) |
if (ARGS_ERROR == ac) |
return(0); |
return(0); |
|
|
* If we encounter end-of-sentence symbols, then trigger |
* If we encounter end-of-sentence symbols, then trigger |
* the double-space. |
* the double-space. |
* |
* |
* XXX: it's easy to allow this to propogate outward to |
* XXX: it's easy to allow this to propagate outward to |
* the last symbol, such that `. )' will cause the |
* the last symbol, such that `. )' will cause the |
* correct double-spacing. However, (1) groff isn't |
* correct double-spacing. However, (1) groff isn't |
* smart enough to do this and (2) it would require |
* smart enough to do this and (2) it would require |
* knowing which symbols break this behaviour, for |
* knowing which symbols break this behaviour, for |
* example, `. ;' shouldn't propogate the double-space. |
* example, `. ;' shouldn't propagate the double-space. |
*/ |
*/ |
if (mandoc_eos(p, strlen(p), 0)) |
if (mandoc_eos(p, strlen(p), 0)) |
m->last->flags |= MDOC_EOS; |
m->last->flags |= MDOC_EOS; |
|
|
} |
} |
|
|
/* |
/* |
* This routine accomodates implicitly- and explicitly-scoped |
* This routine accommodates implicitly- and explicitly-scoped |
* macro openings. Implicit ones first close out prior scope |
* macro openings. Implicit ones first close out prior scope |
* (seen above). Delay opening the head until necessary to |
* (seen above). Delay opening the head until necessary to |
* allow leading punctuation to print. Special consideration |
* allow leading punctuation to print. Special consideration |
|
|
if (mandoc_eos(n->string, strlen(n->string), 1)) |
if (mandoc_eos(n->string, strlen(n->string), 1)) |
n->flags |= MDOC_EOS; |
n->flags |= MDOC_EOS; |
|
|
/* Up-propogate the end-of-space flag. */ |
/* Up-propagate the end-of-space flag. */ |
|
|
if (n && (MDOC_EOS & n->flags)) { |
if (n && (MDOC_EOS & n->flags)) { |
body->flags |= MDOC_EOS; |
body->flags |= MDOC_EOS; |
|
|
for (pos = ppos; ; ) { |
for (pos = ppos; ; ) { |
la = pos; |
la = pos; |
|
|
ac = mdoc_zargs(m, line, &pos, buf, 0, &p); |
ac = mdoc_zargs(m, line, &pos, buf, &p); |
|
|
if (ARGS_ERROR == ac) |
if (ARGS_ERROR == ac) |
return(0); |
return(0); |
|
|
|
|
for (;;) { |
for (;;) { |
la = *pos; |
la = *pos; |
ac = mdoc_zargs(m, line, pos, buf, 0, &p); |
ac = mdoc_zargs(m, line, pos, buf, &p); |
|
|
if (ARGS_ERROR == ac) |
if (ARGS_ERROR == ac) |
return(0); |
return(0); |