=================================================================== RCS file: /cvs/docbook2mdoc/docbook2mdoc.c,v retrieving revision 1.103 retrieving revision 1.106 diff -u -p -r1.103 -r1.106 --- docbook2mdoc/docbook2mdoc.c 2019/04/11 04:23:22 1.103 +++ docbook2mdoc/docbook2mdoc.c 2019/04/12 07:05:19 1.106 @@ -1,4 +1,4 @@ -/* $Id: docbook2mdoc.c,v 1.103 2019/04/11 04:23:22 schwarze Exp $ */ +/* $Id: docbook2mdoc.c,v 1.106 2019/04/12 07:05:19 schwarze Exp $ */ /* * Copyright (c) 2014 Kristaps Dzonsons * Copyright (c) 2019 Ingo Schwarze @@ -81,8 +81,14 @@ pnode_printtext(struct format *f, struct pnode *n) switch (f->linestate) { case LINE_TEXT: - if (n->spc) + if (n->spc) { + if (n->node == NODE_TEXT) { + putchar('\n'); + last = '\n'; + break; + } putchar(' '); + } last = ' '; break; case LINE_MACRO: @@ -908,6 +914,9 @@ pnode_print(struct format *f, struct pnode *n) macro_argline(f, "Bd", pnode_getattr(n, ATTRKEY_CLASS) == ATTRVAL_MONOSPACED ? "-literal" : "-unfilled"); break; + case NODE_MARKUP: + macro_open(f, "Ic"); + break; case NODE_MML_MFENCED: pnode_printmathfenced(f, n); break; @@ -935,7 +944,9 @@ pnode_print(struct format *f, struct pnode *n) break; case NODE_PARAMDEF: case NODE_PARAMETER: - macro_nodeline(f, "Fa", n, ARG_SINGLE); + /* More often, these appear inside NODE_FUNCPROTOTYPE. */ + macro_open(f, "Fa"); + macro_addnode(f, n, ARG_SPACE | ARG_SINGLE); pnode_unlinksub(n); break; case NODE_QUOTE: @@ -980,9 +991,6 @@ pnode_print(struct format *f, struct pnode *n) break; case NODE_SBR: macro_line(f, "br"); - break; - case NODE_SGMLTAG: - macro_open(f, "Ic"); break; case NODE_TEXT: case NODE_ESCAPE: