68 lines
2.8 KiB
PostScript
68 lines
2.8 KiB
PostScript
%!PS-Adobe
|
|
% lib/ehandler.ps -- Downloaded Error Break-page handler
|
|
% Copyright (c) 1984, 1985, 1986 Adobe Systems Incorporated.
|
|
% All Rights Reserved.
|
|
|
|
0000 % serverloop password
|
|
/$brkpage where
|
|
{pop pop(Error Handler in place - not loaded again\n)print flush stop}
|
|
{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 def
|
|
end %$brkpage
|
|
errordict/handleerror
|
|
{<< /PageSize [612 792] /ImagingBBox null >> setpagedevice
|
|
systemdict begin $error begin $brkpage begin newerror
|
|
{/newerror false store
|
|
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}
|
|
dup 0 systemdict put dup 4 $brkpage put bind readonly put
|