=================================================================== RCS file: /cvs/docbook2mdoc/docbook2mdoc.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -p -r1.60 -r1.61 --- docbook2mdoc/docbook2mdoc.c 2019/03/22 17:01:10 1.60 +++ docbook2mdoc/docbook2mdoc.c 2019/03/22 17:28:59 1.61 @@ -1,4 +1,4 @@ -/* $Id: docbook2mdoc.c,v 1.60 2019/03/22 17:01:10 schwarze Exp $ */ +/* $Id: docbook2mdoc.c,v 1.61 2019/03/22 17:28:59 schwarze Exp $ */ /* * Copyright (c) 2014 Kristaps Dzonsons * Copyright (c) 2019 Ingo Schwarze @@ -720,15 +720,23 @@ pnode_printpara(struct parse *p, struct pnode *pn) struct pnode *pp; assert(p->newln); - if (NULL == pn->parent || NODE_LISTITEM == pn->parent->node) + if ((pp = TAILQ_PREV(pn, pnodeq, child)) == NULL && + (pp = pn->parent) == NULL) return; - pp = TAILQ_PREV(pn, pnodeq, child); - if (NULL == pp) - pp = pn->parent; - if ((NODE_SECTION != pp->node && NODE_PREFACE != pp->node) || - 2 < p->level) - puts(".Pp"); + switch (pp->node) { + case NODE_ENTRY: + case NODE_LISTITEM: + return; + case NODE_PREFACE: + case NODE_SECTION: + if (p->level < 3) + return; + break; + default: + break; + } + puts(".Pp"); } /*