=================================================================== RCS file: /cvs/mandoc/mdoc_man.c,v retrieving revision 1.67 retrieving revision 1.70 diff -u -p -r1.67 -r1.70 --- mandoc/mdoc_man.c 2014/07/30 00:19:16 1.67 +++ mandoc/mdoc_man.c 2014/08/21 12:57:17 1.70 @@ -1,4 +1,4 @@ -/* $Id: mdoc_man.c,v 1.67 2014/07/30 00:19:16 schwarze Exp $ */ +/* $Id: mdoc_man.c,v 1.70 2014/08/21 12:57:17 schwarze Exp $ */ /* * Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze * @@ -14,10 +14,10 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif +#include + #include #include #include @@ -548,8 +548,9 @@ man_mdoc(void *arg, const struct mdoc *mdoc) n = mdoc_node(mdoc); printf(".TH \"%s\" \"%s\" \"%s\" \"%s\" \"%s\"\n", - meta->title, meta->msec, meta->date, - meta->os, meta->vol); + meta->title, + (meta->msec == NULL ? "" : meta->msec), + meta->date, meta->os, meta->vol); /* Disable hyphenation and if nroff, disable justification. */ printf(".nh\n.if n .ad l"); @@ -1165,7 +1166,8 @@ pre_fl(DECL_ARGS) font_push('B'); print_word("\\-"); - outflags &= ~MMAN_spc; + if (n->nchild) + outflags &= ~MMAN_spc; return(1); } @@ -1174,8 +1176,10 @@ post_fl(DECL_ARGS) { font_pop(); - if (0 == n->nchild && NULL != n->next && - n->next->line == n->line) + if ( ! (n->nchild || + n->next == NULL || + n->next->type == MDOC_TEXT || + n->next->flags & MDOC_LINE)) outflags &= ~MMAN_spc; }