home *** CD-ROM | disk | FTP | other *** search
- %!PS-Adobe-% lib/ehandler.ps -- Downloaded Error Break-page handler% Copyright (c) 1984, 1985, 1986 Adobe Systems Incorporated. % All Rights Reserved.% RCSID: $Header: ehandler.ps,v 2.1 85/11/24 12:20:03 shore Rel $% ed for class use, mjf, Mon Nov 24 09:26:51 1986% Change or remove this section to use ehandler.ps on a job-by-job basis.0000 % serverloop password/$brkpage where{pop pop(Error Handler in place - not loaded again\n)print flush stop} %aborts to end-of-job.{dup serverdict begin statusdict begin checkpassword {(Error Handler downloaded.\n)print flush exitserver} {pop(Bad Password on loading error handler!!!\n)print flush stop}ifelse}ifelse/$brkpage 64 dict def $brkpage 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 defend %$brkpageerrordict/handleerror {systemdict begin $error begin $brkpage begin %Note -- newerror is created in $error by all default error operators. newerror {/newerror false store $error /errorname get (ioerror) ne $error /command get (exec) ne or { %the above conditional is to prevent spurious error reports caused %by a minor communication bug in the AppleTalk implementation. vmstatus pop pop 0 ne{grestoreall}if initgraphics courier setfont lmargin 720 moveto(ERROR: )prnt errorname prnt nl(OFFENDING COMMAND: )prnt/command load prnt $error/ostack known {nl nl(STACK:)prnt nl nl $error/ostack get aload length{==}repeat}if systemdict/showpage get exec /newerror true store/OLDhandleerror load end end end exec} {end end end} ifelse} {end end end} ifelse}dup 0 systemdict put %bind true systemdict valuedup 4 $brkpage put %bind true $breakpage valuebind readonly %lock it upput %into errordict%%EOF
-