commit 047fd921744f39a82a86d9370e03f7af511e6e84 from: Russ Cox date: Mon Feb 25 14:45:53 2019 UTC page: handle EPS without showpage commit - 3ad4afbe821687bd77f8dffb0e0bf4947faf0a83 commit + 047fd921744f39a82a86d9370e03f7af511e6e84 blob - 7179429acc1035a47cccb47872bc70e34cedc046 blob + 5c493b35583d44c8301a1aa3c3b848c6aef2857e --- src/cmd/page/gs.c +++ src/cmd/page/gs.c @@ -185,6 +185,10 @@ spawngs(GSInfo *g, char *safer) chanfree(cp); Binit(&g->gsrd, stdoutp[0], OREAD); + + gscmd(g, "/PAGEDIDSHOWPAGE false def\n"); + gscmd(g, "/showpage { /PAGEDIDSHOWPAGE true def showpage } bind def\n"); + gscmd(g, "/PAGEFLUSH { PAGEDIDSHOWPAGE not {showpage} if /PAGEDIDSHOWPAGE false def } def\n"); gscmd(g, "/PAGEOUT (/dev/fd/4) (w) file def\n"); if(!strcmp(safer, "-dSAFER")) blob - e75a1477c6927dac4e566624c4a639f8b80ac3b1 blob + 7935f694c7f43e10981e924926b15b95ffdfbc59 --- src/cmd/page/ps.c +++ src/cmd/page/ps.c @@ -353,7 +353,7 @@ Keepreading: } if(dumb) { - fprint(ps->gs.gsfd, "(%s) run\n", argv[0]); + fprint(ps->gs.gsfd, "(%s) run PAGEFLUSH\n", argv[0]); fprint(ps->gs.gsfd, "(/dev/fd/3) (w) file dup (THIS IS NOT A PLAN9 BITMAP 01234567890123456789012345678901234567890123456789\\n) writestring flushfile\n"); } @@ -420,6 +420,7 @@ psdrawpage(Document *d, int page) * so send one to avoid deadlock. */ write(ps->gs.gsfd, "\n", 1); + fprint(ps->gs.gsfd, "\nPAGEFLUSH\n"); im = convert(&ps->gs.g); if(im == nil) { fprint(2, "fatal: readimage error %r\n");