=================================================================== RCS file: /cvs/docbook2mdoc/docbook2mdoc.c,v retrieving revision 1.91 retrieving revision 1.92 diff -u -p -r1.91 -r1.92 --- docbook2mdoc/docbook2mdoc.c 2019/04/03 18:52:40 1.91 +++ docbook2mdoc/docbook2mdoc.c 2019/04/06 22:37:57 1.92 @@ -1,4 +1,4 @@ -/* $Id: docbook2mdoc.c,v 1.91 2019/04/03 18:52:40 schwarze Exp $ */ +/* $Id: docbook2mdoc.c,v 1.92 2019/04/06 22:37:57 schwarze Exp $ */ /* * Copyright (c) 2014 Kristaps Dzonsons * Copyright (c) 2019 Ingo Schwarze @@ -642,6 +642,7 @@ pnode_print(struct format *p, struct pnode *pn) if (pn == NULL) return; + p->spc = pn->spc; sv = p->linestate; switch (pn->node) { @@ -674,6 +675,7 @@ pnode_print(struct format *p, struct pnode *pn) break; case NODE_EDITOR: print_text(p, "editor:", ARG_SPACE); + sv = LINE_TEXT; macro_open(p, "An"); break; case NODE_EMAIL: @@ -692,7 +694,7 @@ pnode_print(struct format *p, struct pnode *pn) case NODE_ESCAPE: if (p->linestate == LINE_NEW) p->linestate = LINE_TEXT; - else + else if (pn->spc || p->linestate == LINE_MACRO) putchar(' '); fputs(pn->b, stdout); break; @@ -822,7 +824,7 @@ pnode_print(struct format *p, struct pnode *pn) } if (p->linestate == LINE_NEW) p->linestate = LINE_TEXT; - else + else if (pn->spc || p->linestate == LINE_MACRO) putchar(' '); /*