=================================================================== RCS file: /cvs/docbook2mdoc/docbook2mdoc.c,v retrieving revision 1.89 retrieving revision 1.91 diff -u -p -r1.89 -r1.91 --- docbook2mdoc/docbook2mdoc.c 2019/04/03 16:52:51 1.89 +++ docbook2mdoc/docbook2mdoc.c 2019/04/03 18:52:40 1.91 @@ -1,4 +1,4 @@ -/* $Id: docbook2mdoc.c,v 1.89 2019/04/03 16:52:51 schwarze Exp $ */ +/* $Id: docbook2mdoc.c,v 1.91 2019/04/03 18:52:40 schwarze Exp $ */ /* * Copyright (c) 2014 Kristaps Dzonsons * Copyright (c) 2019 Ingo Schwarze @@ -666,9 +666,6 @@ pnode_print(struct format *p, struct pnode *pn) case NODE_CITETITLE: macro_open(p, "%T"); break; - case NODE_CODE: - macro_open(p, "Li"); - break; case NODE_COMMAND: macro_open(p, "Nm"); break; @@ -689,6 +686,9 @@ pnode_print(struct format *p, struct pnode *pn) case NODE_ENVAR: macro_open(p, "Ev"); break; + case NODE_ERRORNAME: + macro_open(p, "Er"); + break; case NODE_ESCAPE: if (p->linestate == LINE_NEW) p->linestate = LINE_TEXT; @@ -735,7 +735,7 @@ pnode_print(struct format *p, struct pnode *pn) macro_argline(p, "Sx", ccp); return; case NODE_LITERAL: - macro_open(p, "Li"); + macro_open(p, "Ql"); break; case NODE_LITERALLAYOUT: macro_argline(p, "Bd", pnode_getattr(pn, ATTRKEY_CLASS) == @@ -813,11 +813,8 @@ pnode_print(struct format *p, struct pnode *pn) macro_line(p, "br"); break; case NODE_SGMLTAG: - macro_open(p, "Li"); + macro_open(p, "Ic"); break; - case NODE_STRUCTNAME: - macro_open(p, "Vt"); - break; case NODE_TEXT: if (pn->bsz == 0) { assert(pn->real != pn->b); @@ -876,9 +873,6 @@ pnode_print(struct format *p, struct pnode *pn) case NODE_TYPE: macro_open(p, "Vt"); break; - case NODE_USERINPUT: - macro_open(p, "Li"); - break; case NODE_VARIABLELIST: pnode_printvariablelist(p, pn); break; @@ -900,6 +894,24 @@ pnode_print(struct format *p, struct pnode *pn) fputs("$ ", stdout); p->linestate = sv; break; + case NODE_MEMBER: + if ((pp = TAILQ_NEXT(pn, child)) != NULL && + pp->node != NODE_MEMBER) + pp = NULL; + switch (p->linestate) { + case LINE_TEXT: + if (pp != NULL) + print_text(p, ",", 0); + break; + case LINE_MACRO: + if (pp != NULL) + macro_addarg(p, ",", ARG_SPACE); + macro_close(p); + break; + case LINE_NEW: + break; + } + break; case NODE_MML_MROW: case NODE_MML_MI: case NODE_MML_MN: @@ -913,13 +925,13 @@ pnode_print(struct format *p, struct pnode *pn) case NODE_AUTHOR: case NODE_CITEREFENTRY: case NODE_CITETITLE: - case NODE_CODE: case NODE_COMMAND: case NODE_CONSTANT: case NODE_EDITOR: case NODE_EMAIL: case NODE_EMPHASIS: case NODE_ENVAR: + case NODE_ERRORNAME: case NODE_FILENAME: case NODE_FIRSTTERM: case NODE_FUNCTION: @@ -931,11 +943,10 @@ pnode_print(struct format *p, struct pnode *pn) case NODE_REPLACEABLE: case NODE_REFPURPOSE: case NODE_SGMLTAG: - case NODE_STRUCTNAME: case NODE_TYPE: - case NODE_USERINPUT: case NODE_VARNAME: - if (sv != LINE_MACRO && p->linestate == LINE_MACRO) + if (sv != LINE_MACRO && p->linestate == LINE_MACRO && + (pn->parent == NULL || pn->parent->node != NODE_MEMBER)) macro_closepunct(p, pn); break; case NODE_QUOTE: