From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from localhost (fantadrom.bsd.lv [local]) by fantadrom.bsd.lv (OpenSMTPD) with ESMTPA id 7c65c705 for ; Fri, 22 Mar 2019 11:10:39 -0500 (EST) Date: Fri, 22 Mar 2019 11:10:39 -0500 (EST) X-Mailinglist: mandoc-source Reply-To: source@mandoc.bsd.lv MIME-Version: 1.0 From: schwarze@mandoc.bsd.lv To: source@mandoc.bsd.lv Subject: docbook2mdoc: many new nodes found below X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Message-ID: Log Message: ----------- many new nodes found below /usr/xenocara/proto/xorgproto/specs/ Modified Files: -------------- docbook2mdoc: docbook2mdoc.c extern.h Revision Data ------------- Index: extern.h =================================================================== RCS file: /home/cvs/mdocml/docbook2mdoc/extern.h,v retrieving revision 1.27 retrieving revision 1.28 diff -Lextern.h -Lextern.h -u -p -r1.27 -r1.28 --- extern.h +++ extern.h @@ -1,3 +1,21 @@ +/* $Id$ */ +/* + * Copyright (c) 2014 Kristaps Dzonsons + * Copyright (c) 2019 Ingo Schwarze + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + /* * All recognised node types. */ @@ -5,11 +23,19 @@ enum nodeid { NODE_ROOT = 0, /* Must comes first. */ /* Alpha-ordered hereafter. */ NODE_ACRONYM, + NODE_AFFILIATION, NODE_ANCHOR, NODE_APPLICATION, NODE_ARG, + NODE_AUTHOR, + NODE_AUTHORGROUP, + NODE_BLOCKQUOTE, + NODE_BOOK, + NODE_BOOKINFO, NODE_CAUTION, + NODE_CHAPTER, NODE_CITEREFENTRY, + NODE_CITETITLE, NODE_CMDSYNOPSIS, NODE_CODE, NODE_COLSPEC, @@ -17,27 +43,38 @@ enum nodeid { NODE_CONSTANT, NODE_COPYRIGHT, NODE_DATE, + NODE_EDITOR, NODE_EMPHASIS, NODE_ENTRY, NODE_ENVAR, NODE_FIELDSYNOPSIS, NODE_FILENAME, + NODE_FIRSTNAME, + NODE_FIRSTTERM, + NODE_FOOTNOTE, NODE_FUNCDEF, NODE_FUNCPROTOTYPE, NODE_FUNCSYNOPSIS, NODE_FUNCSYNOPSISINFO, NODE_FUNCTION, + NODE_GLOSSTERM, NODE_GROUP, NODE_HOLDER, + NODE_INDEX, + NODE_INDEXTERM, NODE_INFO, NODE_INFORMALEQUATION, NODE_INFORMALTABLE, NODE_INLINEEQUATION, NODE_ITEMIZEDLIST, + NODE_KEYSYM, + NODE_LEGALNOTICE, NODE_LINK, NODE_LISTITEM, NODE_LITERAL, + NODE_LITERALLAYOUT, NODE_MANVOLNUM, + NODE_MEMBER, NODE_MML_MATH, NODE_MML_MFENCED, NODE_MML_MFRAC, @@ -51,9 +88,15 @@ enum nodeid { NODE_NOTE, NODE_OPTION, NODE_ORDEREDLIST, + NODE_ORGNAME, + NODE_OTHERNAME, NODE_PARA, NODE_PARAMDEF, NODE_PARAMETER, + NODE_PART, + NODE_PHRASE, + NODE_PREFACE, + NODE_PRIMARY, NODE_PROGRAMLISTING, NODE_PROMPT, NODE_QUOTE, @@ -73,12 +116,21 @@ enum nodeid { NODE_REFSECT3, NODE_REFSECTION, NODE_REFSYNOPSISDIV, + NODE_RELEASEINFO, NODE_REPLACEABLE, NODE_ROW, NODE_SBR, NODE_SCREEN, + NODE_SECONDARY, + NODE_SECT1, + NODE_SECT2, + NODE_SECTION, NODE_SGMLTAG, + NODE_SIMPLELIST, + NODE_SPANSPEC, NODE_STRUCTNAME, + NODE_SUBTITLE, + NODE_SURNAME, NODE_SYNOPSIS, NODE_TABLE, NODE_TBODY, Index: docbook2mdoc.c =================================================================== RCS file: /home/cvs/mdocml/docbook2mdoc/docbook2mdoc.c,v retrieving revision 1.49 retrieving revision 1.50 diff -Ldocbook2mdoc.c -Ldocbook2mdoc.c -u -p -r1.49 -r1.50 --- docbook2mdoc.c +++ docbook2mdoc.c @@ -1,6 +1,7 @@ -/* $Id$ */ +/* $Id$ */ /* * Copyright (c) 2014 Kristaps Dzonsons + * Copyright (c) 2019 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -93,11 +94,19 @@ static const char *attrvals[ATTRVAL__MAX static const struct node nodes[NODE__MAX] = { { NULL, 0 }, { "acronym", 0 }, + { "affiliation", NODE_IGNTEXT }, { "anchor", NODE_IGNTEXT }, { "application", 0 }, { "arg", 0 }, + { "author", NODE_IGNTEXT }, + { "authorgroup", NODE_IGNTEXT }, + { "blockquote", NODE_IGNTEXT }, + { "book", NODE_IGNTEXT }, + { "bookinfo", NODE_IGNTEXT }, { "caution", NODE_IGNTEXT }, + { "chapter", NODE_IGNTEXT }, { "citerefentry", NODE_IGNTEXT }, + { "citetitle", 0 }, { "cmdsynopsis", NODE_IGNTEXT }, { "code", 0 }, { "colspec", NODE_IGNTEXT }, @@ -105,27 +114,38 @@ static const struct node nodes[NODE__MAX { "constant", 0 }, { "copyright", NODE_IGNTEXT }, { "date", 0 }, + { "editor", NODE_IGNTEXT }, { "emphasis", 0 }, { "entry", 0 }, { "envar", 0 }, { "fieldsynopsis", NODE_IGNTEXT }, { "filename", 0 }, + { "firstname", 0 }, + { "firstterm", 0 }, + { "footnote", 0 }, { "funcdef", 0 }, { "funcprototype", NODE_IGNTEXT }, { "funcsynopsis", NODE_IGNTEXT }, { "funcsynopsisinfo", 0 }, { "function", 0 }, + { "glossterm", 0 }, { "group", NODE_IGNTEXT }, { "holder", NODE_IGNTEXT }, + { "index", NODE_IGNTEXT }, + { "indexterm", NODE_IGNTEXT }, { "info", NODE_IGNTEXT }, { "informalequation", NODE_IGNTEXT }, { "informaltable", NODE_IGNTEXT }, { "inlineequation", NODE_IGNTEXT }, { "itemizedlist", NODE_IGNTEXT }, + { "keysym", 0 }, + { "legalnotice", NODE_IGNTEXT }, { "link", 0 }, { "listitem", NODE_IGNTEXT }, { "literal", 0 }, + { "literallayout", 0 }, { "manvolnum", 0 }, + { "member", 0 }, { "mml:math", NODE_IGNTEXT }, { "mml:mfenced", 0 }, { "mml:mfrac", 0 }, @@ -139,9 +159,15 @@ static const struct node nodes[NODE__MAX { "note", NODE_IGNTEXT }, { "option", 0 }, { "orderedlist", NODE_IGNTEXT }, + { "orgname", 0 }, + { "othername", 0 }, { "para", 0 }, { "paramdef", 0 }, { "parameter", 0 }, + { "part", NODE_IGNTEXT }, + { "phrase", 0 }, + { "preface", NODE_IGNTEXT }, + { "primary", 0 }, { "programlisting", 0 }, { "prompt", 0 }, { "quote", 0 }, @@ -161,12 +187,21 @@ static const struct node nodes[NODE__MAX { "refsect3", NODE_IGNTEXT }, { "refsection", NODE_IGNTEXT }, { "refsynopsisdiv", NODE_IGNTEXT }, + { "releaseinfo", 0 }, { "replaceable", 0 }, { "row", NODE_IGNTEXT }, { "sbr", NODE_IGNTEXT }, { "screen", NODE_IGNTEXT }, + { "secondary", 0 }, + { "sect1", NODE_IGNTEXT }, + { "sect2", NODE_IGNTEXT }, + { "section", NODE_IGNTEXT }, { "sgmltag", 0 }, + { "simplelist", NODE_IGNTEXT }, + { "spanspec", NODE_IGNTEXT }, { "structname", 0 }, + { "subtitle", 0 }, + { "surname", 0 }, { "synopsis", 0 }, { "table", NODE_IGNTEXT }, { "tbody", NODE_IGNTEXT }, @@ -327,8 +362,10 @@ xml_elem_start(void *arg, const XML_Char XML_GetCurrentColumnNumber(ps->xml)); ps->stop = 1; return; - } else if (NODE_ROOT == ps->node && NODE_REFENTRY != node) + } else if (NODE_ROOT == ps->node && NODE_REFENTRY != node && + NODE_PART != node && NODE_BOOK != node) { return; + } if (NODE_INLINEEQUATION == node) ps->flags |= PARSE_EQN; @@ -681,9 +718,15 @@ pnode_printrefsect(struct parse *p, stru switch (pn->node) { case (NODE_REFSECT1): + /* FALLTHROUGH */ + case (NODE_SECT1): + /* FALLTHROUGH */ + case (NODE_CHAPTER): fputs(".Sh", stdout); break; case (NODE_REFSECT2): + /* FALLTHROUGH */ + case (NODE_SECT2): fputs(".Ss", stdout); break; case (NODE_REFSECT3): @@ -712,12 +755,12 @@ pnode_printrefsect(struct parse *p, stru if (NULL != pp) { pnode_printmacrolinetext(p, pp, - NODE_REFSECT1 == pn->node ? + NODE_REFSECT1 == pn->node || NODE_SECT1 == pn->node ? MACROLINE_UPPER : 0); pnode_printmclose(p, 1); pnode_unlink(pp); } else { - puts(NODE_REFSECT1 == pn->node ? + puts(NODE_REFSECT1 == pn->node || NODE_SECT1 == pn->node ? "UNKNOWN" : "unknown"); p->newln = 1; } @@ -1191,6 +1234,7 @@ pnode_print(struct parse *p, struct pnod sv = p->newln; + /* XXX fprintf(stderr, "NODE %s\n", nodes[pn->node].name); */ switch (pn->node) { case (NODE_APPLICATION): pnode_printmopen(p); @@ -1203,6 +1247,18 @@ pnode_print(struct parse *p, struct pnod pnode_printarg(p, pn); pnode_unlinksub(pn); break; + case (NODE_AUTHOR): + pnode_printmopen(p); + fputs("An", stdout); + break; + case (NODE_AUTHORGROUP): + assert(p->newln); + puts(".An -split"); + break; + case (NODE_BOOKINFO): + assert(p->newln); + puts(".Sh NAME"); + break; case (NODE_CITEREFENTRY): pnode_printmopen(p); fputs("Xr", stdout); @@ -1221,6 +1277,11 @@ pnode_print(struct parse *p, struct pnod pnode_printmopen(p); fputs("Dv", stdout); break; + case (NODE_EDITOR): + puts("editor: "); + pnode_printmopen(p); + fputs("An", stdout); + break; case (NODE_EMPHASIS): pnode_printmopen(p); fputs("Em", stdout); @@ -1265,6 +1326,10 @@ pnode_print(struct parse *p, struct pnod pnode_printgroup(p, pn); pnode_unlinksub(pn); break; + case (NODE_LEGALNOTICE): + assert(p->newln); + puts(".Sh LEGAL NOTICE"); + break; case (NODE_LITERAL): pnode_printmopen(p); fputs("Li", stdout); @@ -1315,6 +1380,8 @@ pnode_print(struct parse *p, struct pnod pnode_printmopen(p); fputs("Qo", stdout); break; + case (NODE_LITERALLAYOUT): + /* FALLTHROUGH */ case (NODE_PROGRAMLISTING): /* FALLTHROUGH */ case (NODE_SCREEN): @@ -1358,6 +1425,12 @@ pnode_print(struct parse *p, struct pnod /* FALLTHROUGH */ case (NODE_REFSECTION): /* FALLTHROUGH */ + case (NODE_CHAPTER): + /* FALLTHROUGH */ + case (NODE_SECT1): + /* FALLTHROUGH */ + case (NODE_SECT2): + /* FALLTHROUGH */ case (NODE_NOTE): /* FALLTHROUGH */ case (NODE_TIP): @@ -1438,6 +1511,12 @@ pnode_print(struct parse *p, struct pnod } p->newln = 0; break; + case (NODE_TITLE): + if (pn->parent->node == NODE_BOOKINFO) { + pnode_printmopen(p); + fputs("Nd", stdout); + } + break; case (NODE_TYPE): pnode_printmopen(p); fputs("Vt", stdout); @@ -1487,10 +1566,12 @@ pnode_print(struct parse *p, struct pnod break; case (NODE_APPLICATION): case (NODE_ARG): + case (NODE_AUTHOR): case (NODE_CITEREFENTRY): case (NODE_CODE): case (NODE_COMMAND): case (NODE_CONSTANT): + case (NODE_EDITOR): case (NODE_EMPHASIS): case (NODE_ENVAR): case (NODE_FILENAME): @@ -1529,12 +1610,20 @@ pnode_print(struct parse *p, struct pnod fputs(" ,", stdout); pnode_printmclose(p, sv); break; + case (NODE_LITERALLAYOUT): + /* FALLTHROUGH */ case (NODE_PROGRAMLISTING): /* FALLTHROUGH */ case (NODE_SCREEN): assert(p->newln); puts(".Ed"); p->newln = 1; + break; + case (NODE_TITLE): + if (pn->parent->node == NODE_BOOKINFO) { + pnode_printmclose(p, 1); + puts(".Sh AUTHORS"); + } break; default: break; -- To unsubscribe send an email to source+unsubscribe@mandoc.bsd.lv