source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* docbook2mdoc: Add holder, copyright, and year elements.
@ 2014-04-30  9:04 kristaps
  0 siblings, 0 replies; only message in thread
From: kristaps @ 2014-04-30  9:04 UTC (permalink / raw)
  To: source

Log Message:
-----------
Add holder, copyright, and year elements.
Fix parameter to suppress trailing newline (puts -> fputs).

Modified Files:
--------------
    docbook2mdoc:
        docbook2mdoc.c
        extern.h
        rules.c

Revision Data
-------------
Index: extern.h
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/extern.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -Lextern.h -Lextern.h -u -p -r1.17 -r1.18
--- extern.h
+++ extern.h
@@ -16,6 +16,8 @@ enum	nodeid {
 	NODE_CMDSYNOPSIS,
 	NODE_CODE,
 	NODE_COMMAND,
+	NODE_CONSTANT,
+	NODE_COPYRIGHT,
 	NODE_DATE,
 	NODE_EMPHASIS,
 	NODE_ENTRY,
@@ -26,8 +28,10 @@ enum	nodeid {
 	NODE_FUNCSYNOPSIS,
 	NODE_FUNCSYNOPSISINFO,
 	NODE_FUNCTION,
-	NODE_ITEMIZEDLIST,
 	NODE_GROUP,
+	NODE_HOLDER,
+	NODE_INFO,
+	NODE_ITEMIZEDLIST,
 	NODE_LINK,
 	NODE_LISTITEM,
 	NODE_LITERAL,
@@ -79,6 +83,7 @@ enum	nodeid {
 	NODE_VARNAME,
 	NODE_WARNING,
 	NODE_WORDASWORD,
+	NODE_YEAR,
 	NODE__MAX
 };
 
Index: docbook2mdoc.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/docbook2mdoc.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -Ldocbook2mdoc.c -Ldocbook2mdoc.c -u -p -r1.31 -r1.32
--- docbook2mdoc.c
+++ docbook2mdoc.c
@@ -96,6 +96,8 @@ static	const struct node nodes[NODE__MAX
 	{ "cmdsynopsis", NODE_IGNTEXT }, 
 	{ "code", 0 }, 
 	{ "command", 0 }, 
+	{ "constant", 0 }, 
+	{ "copyright", NODE_IGNTEXT }, 
 	{ "date", 0 }, 
 	{ "emphasis", 0 },
 	{ "entry", 0 },
@@ -106,8 +108,10 @@ static	const struct node nodes[NODE__MAX
 	{ "funcsynopsis", NODE_IGNTEXT }, 
 	{ "funcsynopsisinfo", 0 }, 
 	{ "function", 0 }, 
-	{ "itemizedlist", NODE_IGNTEXT }, 
 	{ "group", NODE_IGNTEXT }, 
+	{ "holder", NODE_IGNTEXT },
+	{ "info", NODE_IGNTEXT },
+	{ "itemizedlist", NODE_IGNTEXT }, 
 	{ "link", 0 }, 
 	{ "listitem", NODE_IGNTEXT }, 
 	{ "literal", 0 }, 
@@ -159,6 +163,7 @@ static	const struct node nodes[NODE__MAX
 	{ "varname", 0 }, 
 	{ "warning", NODE_IGNTEXT }, 
 	{ "wordasword", 0 }, 
+	{ "year", NODE_IGNTEXT }, 
 };
 
 static void
@@ -521,6 +526,7 @@ pnode_findfirst(struct pnode *pn, enum n
 
 #define MACROLINE_NORM	0
 #define MACROLINE_UPPER	1
+#define	MACROLINE_NOWS 2
 /*
  * Recursively print text presumably on a macro line.
  * Convert all whitespace to regular spaces.
@@ -530,7 +536,7 @@ pnode_printmacrolinetext(struct parse *p
 {
 	char		*cp;
 
-	if (0 == p->newln)
+	if (0 == p->newln && ! (MACROLINE_NOWS & fl))
 		putchar(' ');
 
 	bufclear(p);
@@ -784,7 +790,7 @@ pnode_printparamdef(struct parse *p, str
 	fputs(".Fa \"", stdout);
 	p->newln = 0;
 	if (NULL != ptype) {
-		pnode_printmacrolinepart(p, ptype);
+		pnode_printmacrolinetext(p, ptype, MACROLINE_NOWS);
 		putchar(' ');
 	}
 
@@ -1149,8 +1155,8 @@ pnode_print(struct parse *p, struct pnod
 		/* Suppress non-text children... */
 		pnode_printmopen(p);
 		fputs("Fa \"", stdout);
-		pnode_printmacrolinepart(p, pn);
-		puts("\"");
+		pnode_printmacrolinetext(p, pn, MACROLINE_NOWS);
+		fputs("\"", stdout);
 		pnode_unlinksub(pn);
 		break;
 	case (NODE_QUOTE):
Index: rules.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/rules.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -Lrules.c -Lrules.c -u -p -r1.17 -r1.18
--- rules.c
+++ rules.c
@@ -240,11 +240,44 @@ isparent(enum nodeid node, enum nodeid p
 			break;
 		}
 		return(0);
+	case (NODE_CONSTANT):
+		switch (parent) {
+		case (NODE_EMPHASIS):
+		case (NODE_ENTRY):
+		case (NODE_FUNCSYNOPSISINFO):
+		case (NODE_LINK):
+		case (NODE_ULINK):
+		case (NODE_PARA):
+		case (NODE_PROGRAMLISTING):
+		case (NODE_QUOTE):
+		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_USERINPUT):
+			return(1);
+		default:
+			break;
+		}
+		return(0);
+	case (NODE_COPYRIGHT):
+		switch (parent) {
+		case (NODE_INFO):
+			return(1);
+		default:
+			break;
+		}
+		return(0);
 	case (NODE_DATE):
 		switch (parent) {
 		case (NODE_EMPHASIS):
 		case (NODE_ENTRY):
 		case (NODE_FUNCSYNOPSISINFO):
+		case (NODE_INFO):
 		case (NODE_LINK):
 		case (NODE_PARA):
 		case (NODE_PROGRAMLISTING):
@@ -389,21 +422,44 @@ isparent(enum nodeid node, enum nodeid p
 			break;
 		}
 		return(0);
-	case (NODE_ITEMIZEDLIST):
+	case (NODE_GROUP):
+		switch (parent) {
+		case (NODE_ARG):
+		case (NODE_CMDSYNOPSIS):
+		case (NODE_GROUP):
+			return(1);
+		default:
+			break;
+		}
+		return(0);
+	case (NODE_HOLDER):
+		switch (parent) {
+		case (NODE_COPYRIGHT):
+			return(1);
+		default:
+			break;
+		}
+		return(0);
+	case (NODE_INFO):
 		switch (parent) {
 		case (NODE_CAUTION):
-		case (NODE_ENTRY):
+		case (NODE_CMDSYNOPSIS):
+		case (NODE_FUNCSYNOPSIS):
+		case (NODE_FUNCSYNOPSISINFO):
 		case (NODE_ITEMIZEDLIST):
-		case (NODE_LISTITEM):
 		case (NODE_NOTE):
 		case (NODE_ORDEREDLIST):
 		case (NODE_PARA):
+		case (NODE_PROGRAMLISTING):
+		case (NODE_REFENTRY):
 		case (NODE_REFSECT1):
 		case (NODE_REFSECT2):
 		case (NODE_REFSECT3):
 		case (NODE_REFSECTION):
 		case (NODE_REFSYNOPSISDIV):
-		case (NODE_TIP):
+		case (NODE_SCREEN):
+		case (NODE_SYNOPSIS):
+		case (NODE_TABLE):
 		case (NODE_VARIABLELIST):
 		case (NODE_WARNING):
 			return(1);
@@ -411,11 +467,23 @@ isparent(enum nodeid node, enum nodeid p
 			break;
 		}
 		return(0);
-	case (NODE_GROUP):
+	case (NODE_ITEMIZEDLIST):
 		switch (parent) {
-		case (NODE_ARG):
-		case (NODE_CMDSYNOPSIS):
-		case (NODE_GROUP):
+		case (NODE_CAUTION):
+		case (NODE_ENTRY):
+		case (NODE_ITEMIZEDLIST):
+		case (NODE_LISTITEM):
+		case (NODE_NOTE):
+		case (NODE_ORDEREDLIST):
+		case (NODE_PARA):
+		case (NODE_REFSECT1):
+		case (NODE_REFSECT2):
+		case (NODE_REFSECT3):
+		case (NODE_REFSECTION):
+		case (NODE_REFSYNOPSISDIV):
+		case (NODE_TIP):
+		case (NODE_VARIABLELIST):
+		case (NODE_WARNING):
 			return(1);
 		default:
 			break;
@@ -429,6 +497,7 @@ isparent(enum nodeid node, enum nodeid p
 		case (NODE_ARG):
 		case (NODE_CODE):
 		case (NODE_COMMAND):
+		case (NODE_CONSTANT):
 		case (NODE_EMPHASIS):
 		case (NODE_ENTRY):
 		case (NODE_ENVAR):	
@@ -436,6 +505,7 @@ isparent(enum nodeid node, enum nodeid p
 		case (NODE_FUNCDEF):
 		case (NODE_FUNCSYNOPSISINFO):
 		case (NODE_FUNCTION):
+		case (NODE_HOLDER):
 		case (NODE_LINK):
 		case (NODE_LITERAL):
 		case (NODE_MANVOLNUM):
@@ -458,6 +528,7 @@ isparent(enum nodeid node, enum nodeid p
 		case (NODE_USERINPUT):
 		case (NODE_VARNAME):
 		case (NODE_WORDASWORD):
+		case (NODE_YEAR):
 			return(1);
 		default:
 			break;
@@ -751,6 +822,7 @@ isparent(enum nodeid node, enum nodeid p
 		case (NODE_ARG):
 		case (NODE_CODE):
 		case (NODE_COMMAND):
+		case (NODE_CONSTANT):
 		case (NODE_EMPHASIS):
 		case (NODE_ENTRY):
 		case (NODE_ENVAR):	
@@ -759,6 +831,7 @@ isparent(enum nodeid node, enum nodeid p
 		case (NODE_FUNCSYNOPSISINFO):
 		case (NODE_FUNCTION):
 		case (NODE_GROUP):
+		case (NODE_HOLDER):
 		case (NODE_LINK):
 		case (NODE_LITERAL):
 		case (NODE_MANVOLNUM):
@@ -784,6 +857,7 @@ isparent(enum nodeid node, enum nodeid p
 		case (NODE_USERINPUT):
 		case (NODE_VARNAME):
 		case (NODE_WORDASWORD):
+		case (NODE_YEAR):
 		default:
 			return(1);
 		}
@@ -934,6 +1008,7 @@ isparent(enum nodeid node, enum nodeid p
 		return(NODE_TGROUP == parent);
 	case (NODE_TITLE):
 		switch (parent) {
+		case (NODE_INFO):
 		case (NODE_ITEMIZEDLIST):
 		case (NODE_ORDEREDLIST):
 		case (NODE_REFENTRYINFO):
@@ -1086,6 +1161,14 @@ isparent(enum nodeid node, enum nodeid p
 		case (NODE_TERM):
 		case (NODE_TITLE):
 		case (NODE_ULINK):
+			return(1);
+		default:
+			break;
+		}
+		return(0);
+	case (NODE_YEAR):
+		switch (parent) {
+		case (NODE_COPYRIGHT):
 			return(1);
 		default:
 			break;
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-04-30  9:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-30  9:04 docbook2mdoc: Add holder, copyright, and year elements kristaps

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).