

Article 1631 of comp.lang.postscript:
Path: mimsy!dftsrv!ukma!cwjcc!mailrus!cornell!uw-beaver!tektronix!sequent!ccssrv!ccsrd11!rob
>From: [email-masked] (Robert Sleator)
Newsgroups: comp.sys.mac,comp.lang.postscript
Subject: Re: help printing MAC postscript files
Keywords: postscript, UNIX
Message-ID: <[email-masked]>
Date: 17 Jan 89 19:07:00 GMT
References: <[email-masked]>
Reply-To: [email-masked] (Robert Sleator)
Organization: Control-C Software, Inc., Beaverton, OR
Lines: 36
Xref: mimsy comp.sys.mac:27373 comp.lang.postscript:1631

The LaserPrep file (the PostScript prolog prepended to most Mac files sent
to the LaserWriter) contains code which is more or less equivalent to:

	statusdict /product get		% returns string with product name

	<< is this equal to the string (LaserWriter) (e.g., are you a LaserWriter ?) >>

	{eexec}{flushfile} ifelse	% if LW do eexec, else do flushfile
		.
		.
		.
	<< a bunch of hex >>
		.
		.
		.
	%%EOF

	<< begining of script part of file, which contains your text >>

The problem is that when you save this file with Command-K there is no ^D next to
the %%EOF comment.  If you then run the file on a printer other than a LaserWriter
it executes the flushfile rather than eexec, and flushes to the end of the job.
The solution is to edit the file and insert a control-D next to the %%EOF comment
(and make sure that the "exitserver" line is not commented out). 

Alternatively, if you don't want the prolog downloaded permanently, you can comment
out the exitserver line and delete everything from the first line that resembles this:

	currentfile ok userdict /smooth known not and{eexec}{flushfile}ifelse

down to the %%EOF line.  This should be mostly hex.

NOTE: The above applies to version of the LaserPrep file before version 67.  Version
67 may not have this problem.  It does contain a couple of new examples of 
non-portable code, though.