version 1.126, 2010/05/08 08:36:44 |
version 1.128, 2010/05/12 16:01:01 |
Line 674 mdoc_ptext(struct mdoc *m, int line, char *buf) |
|
Line 674 mdoc_ptext(struct mdoc *m, int line, char *buf) |
|
assert(i); |
assert(i); |
|
|
if (' ' == buf[i - 1] || '\t' == buf[i - 1]) { |
if (' ' == buf[i - 1] || '\t' == buf[i - 1]) { |
assert(i > 1); |
if (i > 1 && '\\' != buf[i - 2]) |
if ('\\' != buf[i - 2]) |
|
if ( ! mdoc_pwarn(m, line, i - 1, ETAILWS)) |
if ( ! mdoc_pwarn(m, line, i - 1, ETAILWS)) |
return(0); |
return(0); |
|
|
Line 683 mdoc_ptext(struct mdoc *m, int line, char *buf) |
|
Line 682 mdoc_ptext(struct mdoc *m, int line, char *buf) |
|
/* Spin back to non-space. */ ; |
/* Spin back to non-space. */ ; |
|
|
/* Jump ahead of escaped whitespace. */ |
/* Jump ahead of escaped whitespace. */ |
assert(i); |
|
i += '\\' == buf[i] ? 2 : 1; |
i += '\\' == buf[i] ? 2 : 1; |
|
|
buf[i] = '\0'; |
buf[i] = '\0'; |
Line 691 mdoc_ptext(struct mdoc *m, int line, char *buf) |
|
Line 689 mdoc_ptext(struct mdoc *m, int line, char *buf) |
|
|
|
/* Allocate the whole word. */ |
/* Allocate the whole word. */ |
|
|
return(mdoc_word_alloc(m, line, 0, buf)); |
if ( ! mdoc_word_alloc(m, line, 0, buf)) |
|
return(0); |
|
|
|
/* |
|
* End-of-sentence check. If the last character is an unescaped |
|
* EOS character, then flag the node as being the end of a |
|
* sentence. The front-end will know how to interpret this. |
|
*/ |
|
|
|
assert(i); |
|
|
|
switch (buf[i - 1]) { |
|
case ('.'): |
|
if (i > 1 && '\\' == buf[i - 2]) |
|
break; |
|
/* FALLTHROUGH */ |
|
case ('!'): |
|
/* FALLTHROUGH */ |
|
case ('?'): |
|
m->last->flags |= MDOC_EOS; |
|
break; |
|
default: |
|
break; |
|
|
|
} |
|
|
|
return(1); |
} |
} |
|
|
|
|