plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

patch.err.ps (2819B)


      1 %!PS-Adobe
      2 % lib/ehandler.ps -- Downloaded Error Break-page handler
      3 % Copyright (c) 1984, 1985, 1986 Adobe Systems Incorporated. 
      4 % All Rights Reserved.
      5 
      6 0000 % serverloop password
      7 /$brkpage where
      8 {pop pop(Error Handler in place - not loaded again\n)print flush stop}
      9 {dup serverdict begin statusdict begin checkpassword
     10  {(Error Handler downloaded.\n)print flush exitserver}
     11  {pop(Bad Password on loading error handler!!!\n)print flush stop}ifelse
     12 }ifelse
     13 /$brkpage 64 dict def $brkpage begin
     14 /prnt
     15  {dup type/stringtype ne{=string cvs}if dup length 6 mul/tx exch def/ty 10 def
     16   currentpoint/toy exch def/tox exch def 1 setgray newpath
     17   tox toy 2 sub moveto 0 ty rlineto tx 0 rlineto 0 ty neg rlineto
     18   closepath fill tox toy moveto 0 setgray show}bind def
     19 /nl{currentpoint exch pop lmargin exch moveto 0 -10 rmoveto}def
     20 /=={/cp 0 def typeprint nl}def
     21 /typeprint{dup type dup currentdict exch known
     22   {exec}{unknowntype}ifelse}readonly def
     23 /lmargin 72 def/rmargin 72 def
     24 /tprint{dup length cp add rmargin gt{nl/cp 0 def}if
     25   dup length cp add/cp exch def prnt}readonly def
     26 /cvsprint{=string cvs tprint( )tprint}readonly def
     27 /unknowntype{exch pop cvlit(??)tprint cvsprint}readonly def
     28 /integertype{cvsprint}readonly def
     29 /realtype{cvsprint}readonly def
     30 /booleantype{cvsprint}readonly def
     31 /operatortype{(//)tprint cvsprint}readonly def
     32 /marktype{pop(-mark- )tprint}readonly def
     33 /dicttype{pop(-dictionary- )tprint}readonly def
     34 /nulltype{pop(-null- )tprint}readonly def
     35 /filetype{pop(-filestream- )tprint}readonly def
     36 /savetype{pop(-savelevel- )tprint}readonly def
     37 /fonttype{pop(-fontid- )tprint}readonly def
     38 /nametype{dup xcheck not{(/)tprint}if cvsprint}readonly def
     39 /stringtype
     40  {dup rcheck{(\()tprint tprint(\))tprint}{pop(-string- )tprint}ifelse
     41  }readonly def
     42 /arraytype
     43  {dup rcheck{dup xcheck
     44   {({)tprint{typeprint}forall(})tprint}
     45   {([)tprint{typeprint}forall(])tprint}ifelse}{pop(-array- )tprint}ifelse
     46  }readonly def
     47 /packedarraytype
     48  {dup rcheck{dup xcheck
     49   {({)tprint{typeprint}forall(})tprint}
     50   {([)tprint{typeprint}forall(])tprint}ifelse}{pop(-packedarray- )tprint}ifelse
     51  }readonly def
     52 /courier/Courier findfont 10 scalefont def
     53 /OLDhandleerror errordict /handleerror get def
     54 end %$brkpage
     55 errordict/handleerror
     56  {<< /PageSize [612 792] /ImagingBBox null >> setpagedevice
     57    systemdict begin $error begin $brkpage begin newerror
     58    {/newerror false store 
     59     vmstatus pop pop 0 ne{grestoreall}if initgraphics courier setfont
     60     lmargin 720 moveto(ERROR: )prnt errorname prnt
     61     nl(OFFENDING COMMAND: )prnt/command load prnt
     62     $error/ostack 
     63     known{nl nl(STACK:)prnt nl nl $error/ostack get aload length{==}repeat}if
     64     systemdict/showpage get exec
     65     /newerror true store/OLDhandleerror load end end end exec}{end end end}
     66   ifelse}
     67 dup 0 systemdict put dup 4 $brkpage put bind readonly put