source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: Drop empty .IP such that is does not cause additional vertical
@ 2012-07-18 16:52 schwarze
  0 siblings, 0 replies; only message in thread
From: schwarze @ 2012-07-18 16:52 UTC (permalink / raw)
  To: source

Log Message:
-----------
Drop empty .IP such that is does not cause additional vertical spacing.
Issue first reported by naddy@ in rsync(1).
OpenBSD rev. 1.55.

Modified Files:
--------------
    mdocml:
        TODO
        man_validate.c

Revision Data
-------------
Index: TODO
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/TODO,v
retrieving revision 1.141
retrieving revision 1.142
diff -LTODO -LTODO -u -p -r1.141 -r1.142
--- TODO
+++ TODO
@@ -248,26 +248,6 @@
   and document it in mdoc(7) and man(7) COMPATIBILITY
   found while talking to Chris Bennett
 
-- In man(7), the sequence
-    regular text
-    .IP
-    .IP "tag"
-    indented text
-  should produce one, not four blank lines between the regular text
-  and the tag, see for example rsync(1).
-  Likewise,
-    regular text
-    .IP
-    indented text
-  should produce one, not two blank lines in between, and
-    regular text
-    .IP
-    .RS
-    .IP tag
-    indented text
-  should produce one, not three blank lines.
-  Reported by naddy@  Mon, 28 Mar 2011 20:45:42 +0200
-
 - trailing whitespace must be ignored even when followed by a font escape,
   see for example 
     makes
Index: man_validate.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/man_validate.c,v
retrieving revision 1.82
retrieving revision 1.83
diff -Lman_validate.c -Lman_validate.c -u -p -r1.82 -r1.83
--- man_validate.c
+++ man_validate.c
@@ -55,6 +55,7 @@ static	int	  check_root(CHKARGS);
 static	void	  check_text(CHKARGS);
 
 static	int	  post_AT(CHKARGS);
+static	int	  post_IP(CHKARGS);
 static	int	  post_vs(CHKARGS);
 static	int	  post_fi(CHKARGS);
 static	int	  post_ft(CHKARGS);
@@ -70,6 +71,7 @@ static	v_check	  posts_eq0[] = { check_e
 static	v_check	  posts_eq2[] = { check_eq2, NULL };
 static	v_check	  posts_fi[] = { check_eq0, post_fi, NULL };
 static	v_check	  posts_ft[] = { post_ft, NULL };
+static	v_check	  posts_ip[] = { post_IP, NULL };
 static	v_check	  posts_nf[] = { check_eq0, post_nf, NULL };
 static	v_check	  posts_par[] = { check_par, NULL };
 static	v_check	  posts_part[] = { check_part, NULL };
@@ -88,7 +90,7 @@ static	const struct man_valid man_valids
 	{ NULL, posts_par }, /* LP */
 	{ NULL, posts_par }, /* PP */
 	{ NULL, posts_par }, /* P */
-	{ NULL, NULL }, /* IP */
+	{ NULL, posts_ip }, /* IP */
 	{ NULL, NULL }, /* HP */
 	{ NULL, NULL }, /* SM */
 	{ NULL, NULL }, /* SB */
@@ -354,6 +356,24 @@ check_par(CHKARGS)
 	return(1);
 }
 
+static int
+post_IP(CHKARGS)
+{
+
+	switch (n->type) {
+	case (MAN_BLOCK):
+		if (0 == n->head->nchild && 0 == n->body->nchild)
+			man_node_delete(m, n);
+		break;
+	case (MAN_BODY):
+		if (0 == n->parent->head->nchild && 0 == n->nchild)
+			man_nmsg(m, n, MANDOCERR_IGNPAR);
+		break;
+	default:
+		break;
+	}
+	return(1);
+}
 
 static int
 post_TH(CHKARGS)
--
 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:[~2012-07-18 16:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-18 16:52 mdocml: Drop empty .IP such that is does not cause additional vertical 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).