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 80ba9b11 for ; Wed, 1 May 2019 23:16:10 -0500 (EST) Date: Wed, 1 May 2019 23:16:10 -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: Yet more whitespace improvements: * Do not forcefully X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Message-ID: Log Message: ----------- Yet more whitespace improvements: * Do not forcefully break a macro line after closing delimiters, let it continue when needed. * In no-fill context, use .No to append text to a macro line when needed. * In no-fill context, allow .Pf as a child macro when needed. * Use macro_open() for .Ns, with the proper flags before and after. Modified Files: -------------- docbook2mdoc: docbook2mdoc.c Revision Data ------------- Index: docbook2mdoc.c =================================================================== RCS file: /home/cvs/mdocml/docbook2mdoc/docbook2mdoc.c,v retrieving revision 1.147 retrieving revision 1.148 diff -Ldocbook2mdoc.c -Ldocbook2mdoc.c -u -p -r1.147 -r1.148 --- docbook2mdoc.c +++ docbook2mdoc.c @@ -55,15 +55,18 @@ pnode_printtext(struct format *f, struct if (isspace((unsigned char)*cp)) { while (isspace((unsigned char)*cp)) cp++; - macro_close(f); + n->flags |= NFLAG_SPC; } else { - fputs(" Ns", stdout); - f->flags &= FMT_IMPL; + f->flags &= ~FMT_NOSPC; + f->flags |= FMT_CHILD; + macro_open(f, "Ns"); + f->flags &= ~FMT_ARG; + f->flags |= FMT_CHILD; accept_arg = 1; } } - if (f->linestate == LINE_MACRO && !accept_arg && - (f->flags & (FMT_CHILD | FMT_IMPL)) == 0) + if (f->linestate == LINE_MACRO && f->nofill == 0 && + !accept_arg && (f->flags & FMT_IMPL) == 0) macro_close(f); /* @@ -72,7 +75,7 @@ pnode_printtext(struct format *f, struct * Set the spacing flag to avoid a redundant .Ns macro. */ - if (f->linestate != LINE_MACRO && + if ((f->nofill || f->linestate != LINE_MACRO) && (nn = TAILQ_NEXT(n, child)) != NULL && (nn->flags & NFLAG_SPC) == 0) { switch (pnode_class(nn->node)) { @@ -101,9 +104,16 @@ pnode_printtext(struct format *f, struct } break; case LINE_MACRO: - if (accept_arg == 0) - macro_close(f); - else if (n->flags & NFLAG_SPC || + if (accept_arg == 0) { + if (f->nofill) { + f->flags &= ~FMT_NOSPC; + f->flags |= FMT_CHILD; + macro_open(f, "No "); + f->flags &= ~FMT_ARG; + f->flags |= FMT_CHILD; + } else + macro_close(f); + } else if (n->flags & NFLAG_SPC || (f->flags & FMT_ARG) == 0 || (nn = TAILQ_PREV(n, pnodeq, child)) == NULL || pnode_class(nn->node) != CLASS_TEXT) -- To unsubscribe send an email to source+unsubscribe@mandoc.bsd.lv