=================================================================== RCS file: /cvs/mandoc/man_term.c,v retrieving revision 1.62 retrieving revision 1.66 diff -u -p -r1.62 -r1.66 --- mandoc/man_term.c 2010/05/10 08:31:41 1.62 +++ mandoc/man_term.c 2010/05/15 17:25:21 1.66 @@ -1,4 +1,4 @@ -/* $Id: man_term.c,v 1.62 2010/05/10 08:31:41 kristaps Exp $ */ +/* $Id: man_term.c,v 1.66 2010/05/15 17:25:21 joerg Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -163,7 +163,7 @@ terminal_man(void *arg, const struct man *man) p = (struct termp *)arg; p->overstep = 0; - p->maxrmargin = 65; + p->maxrmargin = p->defrmargin; if (NULL == p->symtab) switch (p->enc) { @@ -484,7 +484,6 @@ pre_IP(DECL_ARGS) break; case (MAN_HEAD): p->flags |= TERMP_NOBREAK; - p->flags |= TERMP_TWOSPACE; break; case (MAN_BLOCK): print_bvspace(p, n); @@ -545,7 +544,6 @@ post_IP(DECL_ARGS) case (MAN_HEAD): term_flushln(p); p->flags &= ~TERMP_NOBREAK; - p->flags &= ~TERMP_TWOSPACE; p->rmargin = p->maxrmargin; break; case (MAN_BODY): @@ -803,6 +801,7 @@ post_RS(DECL_ARGS) static void print_man_node(DECL_ARGS) { + size_t rm, rmax; int c; c = 1; @@ -819,10 +818,13 @@ print_man_node(DECL_ARGS) /* FIXME: this means that macro lines are munged! */ if (MANT_LITERAL & mt->fl) { + rm = p->rmargin; + rmax = p->maxrmargin; p->rmargin = p->maxrmargin = TERM_MAXMARGIN; p->flags |= TERMP_NOSPACE; term_flushln(p); - p->rmargin = p->maxrmargin = 65; + p->rmargin = rm; + p->maxrmargin = rmax; } break; default: @@ -842,6 +844,9 @@ print_man_node(DECL_ARGS) if ( ! (MAN_NOTEXT & termacts[n->tok].flags)) term_fontrepl(p, TERMFONT_NONE); } + + if (MAN_EOS & n->flags) + p->flags |= TERMP_SENTENCE; } @@ -908,7 +913,7 @@ print_man_head(struct termp *p, const struct man_meta strlcpy(buf, m->vol, BUFSIZ); buflen = strlen(buf); - snprintf(title, BUFSIZ, "%s(%d)", m->title, m->msec); + snprintf(title, BUFSIZ, "%s(%s)", m->title, m->msec); titlen = strlen(title); p->offset = 0;