=================================================================== RCS file: /cvs/mandoc/mdoc_term.c,v retrieving revision 1.217 retrieving revision 1.220 diff -u -p -r1.217 -r1.220 --- mandoc/mdoc_term.c 2011/02/06 22:33:38 1.217 +++ mandoc/mdoc_term.c 2011/03/07 01:35:51 1.220 @@ -1,4 +1,4 @@ -/* $Id: mdoc_term.c,v 1.217 2011/02/06 22:33:38 schwarze Exp $ */ +/* $Id: mdoc_term.c,v 1.220 2011/03/07 01:35:51 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010 Ingo Schwarze @@ -355,6 +355,7 @@ print_mdoc_node(DECL_ARGS) term_word(p, n->string); break; case (MDOC_EQN): + term_word(p, n->eqn->data); break; case (MDOC_TBL): term_tbl(p, n->span); @@ -412,7 +413,6 @@ print_mdoc_node(DECL_ARGS) static void print_mdoc_foot(struct termp *p, const void *arg) { - char buf[DATESIZ], os[BUFSIZ]; const struct mdoc_meta *m; m = (const struct mdoc_meta *)arg; @@ -427,24 +427,21 @@ print_mdoc_foot(struct termp *p, const void *arg) * SYSTEM DATE SYSTEM */ - time2a(m->date, buf, DATESIZ); - strlcpy(os, m->os, BUFSIZ); - term_vspace(p); p->offset = 0; p->rmargin = (p->maxrmargin - - term_strlen(p, buf) + term_len(p, 1)) / 2; + term_strlen(p, m->date) + term_len(p, 1)) / 2; p->flags |= TERMP_NOSPACE | TERMP_NOBREAK; - term_word(p, os); + term_word(p, m->os); term_flushln(p); p->offset = p->rmargin; - p->rmargin = p->maxrmargin - term_strlen(p, os); + p->rmargin = p->maxrmargin - term_strlen(p, m->os); p->flags |= TERMP_NOLPAD | TERMP_NOSPACE; - term_word(p, buf); + term_word(p, m->date); term_flushln(p); p->offset = p->rmargin; @@ -452,7 +449,7 @@ print_mdoc_foot(struct termp *p, const void *arg) p->flags &= ~TERMP_NOBREAK; p->flags |= TERMP_NOLPAD | TERMP_NOSPACE; - term_word(p, os); + term_word(p, m->os); term_flushln(p); p->offset = 0; @@ -1713,6 +1710,7 @@ static int termp_xx_pre(DECL_ARGS) { const char *pp; + int flags; pp = NULL; switch (n->tok) { @@ -1740,9 +1738,10 @@ termp_xx_pre(DECL_ARGS) term_word(p, pp); if (n->child) { + flags = p->flags; p->flags |= TERMP_KEEP; term_word(p, n->child->string); - p->flags &= ~TERMP_KEEP; + p->flags = flags; } return(0); }