source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* pod2mdoc: mark up foreign function names with .Xr
@ 2015-02-14 11:13 schwarze
  0 siblings, 0 replies; only message in thread
From: schwarze @ 2015-02-14 11:13 UTC (permalink / raw)
  To: source

Log Message:
-----------
mark up foreign function names with .Xr

Modified Files:
--------------
    pod2mdoc:
        pod2mdoc.c

Revision Data
-------------
Index: pod2mdoc.c
===================================================================
RCS file: /home/cvs/mdocml/pod2mdoc/pod2mdoc.c,v
retrieving revision 1.42
retrieving revision 1.43
diff -Lpod2mdoc.c -Lpod2mdoc.c -u -p -r1.42 -r1.43
--- pod2mdoc.c
+++ pod2mdoc.c
@@ -1329,6 +1329,7 @@ static void
 ordinary(struct state *st, const char *buf, size_t start, size_t end)
 {
 	size_t		i, j, opstack;
+	enum mdoc_type	mtype;
 	int		seq;
 
 	if ( ! st->parsing || st->paused)
@@ -1405,16 +1406,22 @@ ordinary(struct state *st, const char *b
 
 			/* Detect function names. */
 
+			mtype = MDOC_Fa;
 			if (st->outbuflen > 2 &&
 			    ')' == st->outbuf[st->outbuflen - 1] &&
-			    '(' == st->outbuf[st->outbuflen - 2] &&
-			    dict_get(st->outbuf, st->outbuflen - 2) ==
-			    MDOC_Fo) {
-				st->outbuflen -= 2;
-				st->outbuf[st->outbuflen] = '\0';
-				mdoc_newln(st);
-				fputs(".Fn ", stdout);
-				st->oust = OUST_MAC;
+			    '(' == st->outbuf[st->outbuflen - 2]) {
+				mtype = dict_get(st->outbuf,
+				    st->outbuflen - 2);
+				if (MDOC_Fo == mtype || MDOC_MAX == mtype) {
+					st->outbuflen -= 2;
+					st->outbuf[st->outbuflen] = '\0';
+					mdoc_newln(st);
+					if (MDOC_Fo == mtype)
+						fputs(".Fn ", stdout);
+					else
+						fputs(".Xr ", stdout);
+					st->oust = OUST_MAC;
+				}
 			}
 
 			/*
@@ -1434,8 +1441,11 @@ ordinary(struct state *st, const char *b
 			     '!' == buf[start - 2] ||
 			     '?' == buf[start - 2]) &&
 			    islower((unsigned char)buf[start - 3]) &&
-			    islower((unsigned char)buf[start - 4])))
+			    islower((unsigned char)buf[start - 4]))) {
+				if (MDOC_MAX == mtype)
+					fputs(" 3", stdout);
 				mdoc_newln(st);
+			}
 
 			/* Advance to the next word. */
 
--
 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:[~2015-02-14 11:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-14 11:13 pod2mdoc: mark up foreign function names with .Xr schwarze

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).