version 1.357, 2017/05/09 14:10:01 |
version 1.358, 2017/05/30 16:31:29 |
Line 1977 termp_li_pre(DECL_ARGS) |
|
Line 1977 termp_li_pre(DECL_ARGS) |
|
static int |
static int |
termp_lk_pre(DECL_ARGS) |
termp_lk_pre(DECL_ARGS) |
{ |
{ |
const struct roff_node *link, *descr; |
const struct roff_node *link, *descr, *punct; |
int display; |
int display; |
|
|
if ((link = n->child) == NULL) |
if ((link = n->child) == NULL) |
return 0; |
return 0; |
|
|
|
/* Find beginning of trailing punctuation. */ |
|
punct = n->last; |
|
while (punct != link && punct->flags & NODE_DELIMC) |
|
punct = punct->prev; |
|
punct = punct->next; |
|
|
/* Link text. */ |
/* Link text. */ |
if ((descr = link->next) != NULL && !(descr->flags & NODE_DELIMC)) { |
if ((descr = link->next) != NULL && descr != punct) { |
term_fontpush(p, TERMFONT_UNDER); |
term_fontpush(p, TERMFONT_UNDER); |
while (descr != NULL && !(descr->flags & NODE_DELIMC)) { |
while (descr != punct) { |
|
if (descr->flags & (NODE_DELIMC | NODE_DELIMO)) |
|
p->flags |= TERMP_NOSPACE; |
term_word(p, descr->string); |
term_word(p, descr->string); |
descr = descr->next; |
descr = descr->next; |
} |
} |
Line 2006 termp_lk_pre(DECL_ARGS) |
|
Line 2014 termp_lk_pre(DECL_ARGS) |
|
term_fontpop(p); |
term_fontpop(p); |
|
|
/* Trailing punctuation. */ |
/* Trailing punctuation. */ |
while (descr != NULL) { |
while (punct != NULL) { |
p->flags |= TERMP_NOSPACE; |
p->flags |= TERMP_NOSPACE; |
term_word(p, descr->string); |
term_word(p, punct->string); |
descr = descr->next; |
punct = punct->next; |
} |
} |
if (display) |
if (display) |
term_newln(p); |
term_newln(p); |