version 1.115, 2017/05/08 15:34:54 |
version 1.116, 2017/05/30 16:31:29 |
Line 1527 post_lb(DECL_ARGS) |
|
Line 1527 post_lb(DECL_ARGS) |
|
static int |
static int |
pre_lk(DECL_ARGS) |
pre_lk(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) { |
font_push('I'); |
font_push('I'); |
while (descr != NULL && !(descr->flags & NODE_DELIMC)) { |
while (descr != punct) { |
print_word(descr->string); |
print_word(descr->string); |
descr = descr->next; |
descr = descr->next; |
} |
} |
Line 1556 pre_lk(DECL_ARGS) |
|
Line 1562 pre_lk(DECL_ARGS) |
|
font_pop(); |
font_pop(); |
|
|
/* Trailing punctuation. */ |
/* Trailing punctuation. */ |
while (descr != NULL) { |
while (punct != NULL) { |
print_word(descr->string); |
print_word(punct->string); |
descr = descr->next; |
punct = punct->next; |
} |
} |
if (display) |
if (display) |
print_line(".RE", MMAN_nl); |
print_line(".RE", MMAN_nl); |