=================================================================== RCS file: /cvs/docbook2mdoc/Attic/rules.c,v retrieving revision 1.9 retrieving revision 1.11 diff -u -p -r1.9 -r1.11 --- docbook2mdoc/Attic/rules.c 2014/03/30 17:22:01 1.9 +++ docbook2mdoc/Attic/rules.c 2014/03/30 18:15:55 1.11 @@ -8,12 +8,26 @@ isattrkey(enum nodeid node, enum attrkey key) switch (key) { case (ATTRKEY_CHOICE): - return(node == NODE_ARG); + switch (node) { + case (NODE_ARG): + case (NODE_GROUP): + return(1); + default: + break; + } + return(0); case (ATTRKEY_ID): /* Common to all. */ return(1); case (ATTRKEY_REP): - return(node == NODE_ARG); + switch (node) { + case (NODE_ARG): + case (NODE_GROUP): + return(1); + default: + break; + } + return(0); default: break; } @@ -74,6 +88,7 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_ARG): case (NODE_CMDSYNOPSIS): + case (NODE_GROUP): return(1); default: break; @@ -131,6 +146,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -153,6 +169,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -216,6 +233,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -237,6 +255,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -300,6 +319,16 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); + case (NODE_GROUP): + switch (parent) { + case (NODE_ARG): + case (NODE_CMDSYNOPSIS): + case (NODE_GROUP): + return(1); + default: + break; + } + return(0); case (NODE_LINK): case (NODE_ULINK): /* Synonyms. */ switch (parent) { @@ -331,6 +360,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -362,6 +392,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -381,6 +412,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_ARG): case (NODE_EMPHASIS): case (NODE_FUNCSYNOPSISINFO): + case (NODE_GROUP): case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): @@ -393,6 +425,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -446,6 +479,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -482,6 +516,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -538,6 +573,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_FUNCDEF): case (NODE_FUNCSYNOPSISINFO): case (NODE_FUNCTION): + case (NODE_GROUP): case (NODE_LINK): case (NODE_LITERAL): case (NODE_MANVOLNUM): @@ -558,6 +594,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): default: return(1); } @@ -566,6 +603,7 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_ARG): case (NODE_CMDSYNOPSIS): + case (NODE_GROUP): return(1); default: break; @@ -637,6 +675,28 @@ isparent(enum nodeid node, enum nodeid parent) return(NODE_VARLISTENTRY == parent); case (NODE_TEXT): return(1); + case (NODE_USERINPUT): + switch (parent) { + case (NODE_EMPHASIS): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_REFDESCRIPTOR): + case (NODE_REFENTRYTITLE): + case (NODE_REFNAME): + case (NODE_REFPURPOSE): + case (NODE_SCREEN): + case (NODE_SYNOPSIS): + case (NODE_TERM): + case (NODE_TITLE): + case (NODE_ULINK): + case (NODE_USERINPUT): + return(1); + default: + break; + } + return(0); case (NODE_VARIABLELIST): switch (parent) { case (NODE_ITEMIZEDLIST):