home *** CD-ROM | disk | FTP | other *** search
/ HomeWare 14 / HOMEWARE14.bin / print / cachep.arj / PCAAV1.1 / EHANDLER.PS < prev    next >
Text File  |  1993-04-10  |  3KB  |  70 lines

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