=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/mdoc_man.c,v retrieving revision 1.73 retrieving revision 1.74 diff -c -r1.73 -r1.74 *** src/usr.bin/mandoc/mdoc_man.c 2014/11/27 16:20:27 1.73 --- src/usr.bin/mandoc/mdoc_man.c 2014/11/27 22:27:40 1.74 *************** *** 1,4 **** ! /* $OpenBSD: mdoc_man.c,v 1.73 2014/11/27 16:20:27 schwarze Exp $ */ /* * Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze * --- 1,4 ---- ! /* $OpenBSD: mdoc_man.c,v 1.74 2014/11/27 22:27:40 schwarze Exp $ */ /* * Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze * *************** *** 83,88 **** --- 83,89 ---- static int pre_enc(DECL_ARGS); static int pre_em(DECL_ARGS); static int pre_skip(DECL_ARGS); + static int pre_eo(DECL_ARGS); static int pre_ex(DECL_ARGS); static int pre_fa(DECL_ARGS); static int pre_fd(DECL_ARGS); *************** *** 188,194 **** { NULL, NULL, NULL, NULL, NULL }, /* Ec */ { NULL, NULL, NULL, NULL, NULL }, /* Ef */ { NULL, pre_em, post_font, NULL, NULL }, /* Em */ ! { NULL, NULL, post_eo, NULL, NULL }, /* Eo */ { NULL, pre_ux, NULL, "FreeBSD", NULL }, /* Fx */ { NULL, pre_sy, post_font, NULL, NULL }, /* Ms */ { NULL, pre_no, NULL, NULL, NULL }, /* No */ --- 189,195 ---- { NULL, NULL, NULL, NULL, NULL }, /* Ec */ { NULL, NULL, NULL, NULL, NULL }, /* Ef */ { NULL, pre_em, post_font, NULL, NULL }, /* Em */ ! { cond_body, pre_eo, post_eo, NULL, NULL }, /* Eo */ { NULL, pre_ux, NULL, "FreeBSD", NULL }, /* Fx */ { NULL, pre_sy, post_font, NULL, NULL }, /* Ms */ { NULL, pre_no, NULL, NULL, NULL }, /* No */ *************** *** 605,612 **** * node. */ act = manacts + n->tok; ! cond = NULL == act->cond || (*act->cond)(meta, n); ! if (cond && act->pre && ENDBODY_NOT == n->end) do_sub = (*act->pre)(meta, n); } --- 606,613 ---- * node. */ act = manacts + n->tok; ! cond = act->cond == NULL || (*act->cond)(meta, n); ! if (cond && act->pre && (n->end == ENDBODY_NOT || n->nchild)) do_sub = (*act->pre)(meta, n); } *************** *** 1121,1131 **** return; } static void post_eo(DECL_ARGS) { ! if (MDOC_HEAD == n->type || MDOC_BODY == n->type) outflags &= ~MMAN_spc; } --- 1122,1140 ---- return; } + static int + pre_eo(DECL_ARGS) + { + + outflags &= ~(MMAN_spc | MMAN_nl); + return(1); + } + static void post_eo(DECL_ARGS) { ! if (n->end != ENDBODY_SPACE) outflags &= ~MMAN_spc; }