From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from krisdoz.my.domain (kristaps@localhost [127.0.0.1]) by krisdoz.my.domain (8.14.3/8.14.3) with ESMTP id o64JvQwQ018565 for ; Sun, 4 Jul 2010 15:57:26 -0400 (EDT) Received: (from kristaps@localhost) by krisdoz.my.domain (8.14.3/8.14.3/Submit) id o64JvQjh031694; Sun, 4 Jul 2010 15:57:26 -0400 (EDT) Date: Sun, 4 Jul 2010 15:57:26 -0400 (EDT) Message-Id: <201007041957.o64JvQjh031694@krisdoz.my.domain> X-Mailinglist: mdocml-source Reply-To: source@mdocml.bsd.lv MIME-Version: 1.0 From: kristaps@mdocml.bsd.lv To: source@mdocml.bsd.lv Subject: mdocml: Suppress printing blank eof pages in -Tps. X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Log Message: ----------- Suppress printing blank eof pages in -Tps. Delay printing of Page: until actual text is ready to be displayed. Modified Files: -------------- mdocml: term_ps.c Revision Data ------------- Index: term_ps.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/term_ps.c,v retrieving revision 1.29 retrieving revision 1.30 diff -Lterm_ps.c -Lterm_ps.c -u -p -r1.29 -r1.30 --- term_ps.c +++ term_ps.c @@ -580,12 +580,14 @@ ps_end(struct termp *p) * well as just one. */ - assert(0 == p->engine.ps.flags); - assert('\0' == p->engine.ps.last); - assert(p->engine.ps.psmarg && p->engine.ps.psmarg[0]); - printf("%s", p->engine.ps.psmarg); - p->engine.ps.pages++; - printf("showpage\n"); + if ( ! (PS_NEWPAGE & p->engine.ps.flags)) { + assert(0 == p->engine.ps.flags); + assert('\0' == p->engine.ps.last); + assert(p->engine.ps.psmarg && p->engine.ps.psmarg[0]); + printf("%s", p->engine.ps.psmarg); + p->engine.ps.pages++; + printf("showpage\n"); + } printf("%%%%Trailer\n"); printf("%%%%Pages: %zu\n", p->engine.ps.pages); @@ -674,6 +676,11 @@ ps_pletter(struct termp *p, int c) * now at the current cursor. */ + if (PS_NEWPAGE & p->engine.ps.flags) + printf("%%%%Page: %zu %zu\n", + p->engine.ps.pages + 1, + p->engine.ps.pages + 1); + if ( ! (PS_INLINE & p->engine.ps.flags)) { ps_printf(p, "%zu %zu moveto\n(", AFM2PNT(p, p->engine.ps.pscol), @@ -870,9 +877,6 @@ ps_endline(struct termp *p) printf("%s", p->engine.ps.psmarg); printf("showpage\n"); p->engine.ps.pages++; - printf("%%%%Page: %zu %zu\n", - p->engine.ps.pages + 1, - p->engine.ps.pages + 1); p->engine.ps.psrow = p->engine.ps.top; assert( ! (PS_NEWPAGE & p->engine.ps.flags)); p->engine.ps.flags |= PS_NEWPAGE; -- To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv