source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: Improve formatting of broken blocks in -Tman, somewhat similar
@ 2014-03-30 23:34 schwarze
  0 siblings, 0 replies; only message in thread
From: schwarze @ 2014-03-30 23:34 UTC (permalink / raw)
  To: source

Log Message:
-----------
Improve formatting of broken blocks in -Tman,
somewhat similar to what mdoc_term.c already does for -Tascii.
OpenBSD rev. 1.58.

Modified Files:
--------------
    mdocml:
        mdoc_man.c

Revision Data
-------------
Index: mdoc_man.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc_man.c,v
retrieving revision 1.60
retrieving revision 1.61
diff -Lmdoc_man.c -Lmdoc_man.c -u -p -r1.60 -r1.61
--- mdoc_man.c
+++ mdoc_man.c
@@ -601,7 +601,7 @@ print_node(DECL_ARGS)
 		 */
 		act = manacts + n->tok;
 		cond = NULL == act->cond || (*act->cond)(meta, n);
-		if (cond && act->pre)
+		if (cond && act->pre && ENDBODY_NOT == n->end)
 			do_sub = (*act->pre)(meta, n);
 	}
 
@@ -617,8 +617,17 @@ print_node(DECL_ARGS)
 	/*
 	 * Lastly, conditionally run the post-node handler.
 	 */
+	if (MDOC_ENDED & n->flags)
+		return;
+
 	if (cond && act->post)
 		(*act->post)(meta, n);
+
+	if (ENDBODY_NOT != n->end)
+		n->pending->flags |= MDOC_ENDED;
+
+	if (ENDBODY_NOSPACE == n->end)
+		outflags &= ~(MMAN_spc | MMAN_nl);
 }
 
 static int
@@ -656,7 +665,7 @@ post_enc(DECL_ARGS)
 	suffix = manacts[n->tok].suffix;
 	if (NULL == suffix)
 		return;
-	outflags &= ~MMAN_spc;
+	outflags &= ~(MMAN_spc | MMAN_nl);
 	print_word(suffix);
 }
 
--
 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-03-30 23:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-30 23:34 mdocml: Improve formatting of broken blocks in -Tman, somewhat similar 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).