% For the PrintServer 40 we don't need to produce a banner page. % We still redefine the error handler though: /@errpage 64 dict def @errpage begin /prnt {dup type/stringtype ne{=string cvs}if dup length 6 mul/tx exch def/ty 10 def currentpoint/toy exch def/tox exch def 1 setgray newpath tox toy 2 sub moveto 0 ty rlineto tx 0 rlineto 0 ty neg rlineto closepath fill tox toy moveto 0 setgray show}bind def /nl{currentpoint exch pop lmargin exch moveto 0 -10 rmoveto}def /=={/cp 0 def typeprint nl}def /typeprint{dup type dup currentdict exch known {exec}{unknowntype}ifelse}readonly def /lmargin 72 def/rmargin 72 def /tprint{dup length cp add rmargin gt{nl/cp 0 def}if dup length cp add/cp exch def prnt}readonly def /cvsprint{=string cvs tprint( )tprint}readonly def /unknowntype{exch pop cvlit(??)tprint cvsprint}readonly def /integertype{cvsprint}readonly def /realtype{cvsprint}readonly def /booleantype{cvsprint}readonly def /operatortype{(//)tprint cvsprint}readonly def /marktype{pop(-mark- )tprint}readonly def /dicttype{pop(-dictionary- )tprint}readonly def /nulltype{pop(-null- )tprint}readonly def /filetype{pop(-filestream- )tprint}readonly def /savetype{pop(-savelevel- )tprint}readonly def /fonttype{pop(-fontid- )tprint}readonly def /nametype{dup xcheck not{(/)tprint}if cvsprint}readonly def /stringtype {dup rcheck{(\()tprint tprint(\))tprint}{pop(-string- )tprint}ifelse }readonly def /arraytype {dup rcheck{dup xcheck {({)tprint{typeprint}forall(})tprint} {([)tprint{typeprint}forall(])tprint}ifelse}{pop(-array- )tprint}ifelse }readonly def /packedarraytype {dup rcheck{dup xcheck {({)tprint{typeprint}forall(})tprint} {([)tprint{typeprint}forall(])tprint}ifelse}{pop(-packedarray- )tprint}ifelse }readonly def /courier /Courier findfont 10 scalefont def /@oldhandleerror errordict /handleerror get def end errordict /handleerror { systemdict begin $error begin @errpage begin newerror { /newerror false store vmstatus pop pop 0 ne { grestoreall } if initgraphics courier setfont lmargin 792 moveto (POSTSCRIPT ERROR: ) prnt errorname prnt nl (OFFENDING COMMAND: ) prnt /command load prnt nl $error /ostack known { (OPERAND STACK:) prnt nl $error /ostack get aload length {==} repeat } if /#copies 1 store systemdict /showpage get exec /newerror true store /@oldhandleerror load end end end exec } { end end end } ifelse } dup 0 systemdict put dup 4 @errpage put bind readonly put