🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.lang.postscript
3 messages
3 total messages Started by Qual Trak Thu, 27 Aug 1992 02:59
PostScript error handler
#1985
Author: Qual Trak
Date: Thu, 27 Aug 1992 02:59
16 lines
1160 bytes
I used to have an error handler I could download to a PostScript printer
that would print the error message (and possibly a stack dump) when the
interpreter encountered an error condition.

I seem to have misplaced it and would like to have it back again.

Can someone tell me where it may be had?  I tried mailing a help message
to ps-file-server@adobe.com but 24 hours have passed and no answer.  I'm
the impatient sort donchano...  So if someone can emailto me or post on
the net an ftp location or, better yet, the program.  I'll be forever in
your debt.
------------------------------------------------------------------------
John Birchfield - QualTrak Corp (408) 730-2674 Home (408) 736-3852
jb@QualTrak.COM
------------------------------------------------------------------------
Re: PostScript error handler
#1993
Author: Kirk Woerner
Date: Thu, 27 Aug 1992 13:39
21 lines
1329 bytes
In article <b_cn#5.qualtrak@netcom.com> jb@QualTrak.COM writes:
>
>I used to have an error handler I could download to a PostScript printer
>that would print the error message (and possibly a stack dump) when the
>interpreter encountered an error condition.
>
>I seem to have misplaced it and would like to have it back again.
>
>Can someone tell me where it may be had?  I tried mailing a help message
>to ps-file-server@adobe.com but 24 hours have passed and no answer.  I'm
>the impatient sort donchano...  So if someone can emailto me or post on
>the net an ftp location or, better yet, the program.  I'll be forever in
>your debt.
>
I also would be very interested in this.  If someone has the program (and
its not too long) a post would be great.
Thanks
-- 
                          "It's INCONCEIVABLE !!!!"
          "I do not think that word means what you think it means."
                                          --- from "Princess Bride"
Re: PostScript error handler
#2010
Author: Deb Schwartz
Date: Fri, 28 Aug 1992 06:12
138 lines
5565 bytes
In article <1992Aug27.133928.66270@Cookie.secapl.com> ckw@Cookie.secapl.com (Kirk Woerner) writes:
>>
>I also would be very interested in this.  If someone has the program (and
>its not too long) a post would be great.

I copied this off the net a while back, and like it better than the
vanilla Adobe version - it prints out more information.    

-------------------------cut here---------------------------------------------
%!
% behandler.ps, v1.3, Mar 23 1990, a modified version of Adobe's ehandler.ps
% Original program copyright (c) 1986 Adobe Systems Incorporated
% Modified by Fredric Ihren, for support contact fred@nada.kth.se or write to
%   Fredric Ihren; Moerbydalen 17; S-182 32 D-RYD; Sweden
% Adobe will not keep maintenance of this program.
% Distributed with permission from Adobe Systems Incorporated

0000 % serverloop password
/$brkpage where not {
  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
} {
  pop pop (Error Handler in place - not loaded again\n) print flush stop
} ifelse
/$brkpage 64 dict def
$brkpage begin
  /== { /cp 0 def typeprint nl } def
  /printpage {
    /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
    /doshowpage systemdict /showpage get def
  } def
  /printonly {
    /nl { (\n) print } def
    /prnt { dup type /stringtype ne { =string cvs } if print } def
    /doshowpage null cvx def
  } def
  printpage
  /typeprint { dup type dup currentdict exch known
    { exec } { unknowntype } ifelse
  } 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
  } def
  /cvsprint { =string cvs tprint( ) tprint } def
  /unknowntype { exch pop cvlit (??) tprint cvsprint } def
  /integertype { cvsprint } def
  /realtype { cvsprint } def
  /booleantype { cvsprint } def
  /operatortype { (//) tprint cvsprint } def
  /marktype { pop (-mark- ) tprint } def
  /dicttype { pop (-dictionary- ) tprint } def
  /nulltype { pop (-null- ) tprint } def
  /filetype { pop (-filestream- ) tprint } def
  /savetype { pop (-savelevel- ) tprint } def
  /fonttype { pop (-fontid- ) tprint } def
  /nametype { dup xcheck not { (/) tprint } if cvsprint } def
  /stringtype {
    dup rcheck
      { (\() tprint tprint (\)) tprint }
      { pop (-string- ) tprint }
    ifelse
  } def
  /arraytype {
    dup rcheck { dup xcheck
      { ({) tprint { typeprint } forall (}) tprint }
      { ([) tprint { typeprint } forall (]) tprint }
    ifelse } { pop (-array- ) tprint } ifelse
  } def
  /packedarraytype {
    dup rcheck { dup xcheck
      { ({) tprint { typeprint } forall (}) tprint }
      { ([) tprint { typeprint } forall (]) tprint }
    ifelse } { pop (-packedarray- ) tprint } ifelse
  } def
  /stackmax 10 def
  /execmax 5 def
  /filemax 5 def
  /courier /Courier findfont 10 scalefont def
  /OLDhandleerror errordict /handleerror get def
end %$brkpage
errordict /handleerror {
  systemdict begin $error begin $brkpage begin newerror {
    {
      /newerror false store
      vmstatus pop pop 0 ne { grestoreall } if initgraphics courier setfont
      lmargin 750 moveto
      statusdict /jobname get dup null ne
        { (Jobname: ) prnt prnt nl } { pop } ifelse
      (Error: ) prnt errorname prnt nl
      (Command: ) prnt /command load ==
      $error /ostack known {
        $error /ostack get dup length 0 ne {
          (Stack \() prnt
          aload length dup prnt (\):) prnt nl
          /i 0 def
          { /i i 1 add def i stackmax le { == } { pop } ifelse }
          repeat
        } { pop } ifelse
      } if
      $error /estack known {
        $error /estack get dup dup length 1 sub get type /filetype ne {
          (Execstack \() prnt
          aload length dup prnt (\):) prnt nl
          /i 0 def
          { /i i 1 add def dup type /filetype eq { /i 99 def } if
            i execmax le { == } { pop } ifelse
          } repeat
        } { pop } ifelse
      } if
      (%stdin) (r) file
      dup =string readline {
        (File:) prnt nl prnt nl
        filemax 1 sub { dup =string readline { prnt nl } { exit } ifelse }
        repeat
      } if pop
      userdict /debug known {
        (Debug:) prnt nl
        userdict /debug get stopped pop nl
      } if
    } stopped pop
    doshowpage
    /newerror true store
    /OLDhandleerror load end end end exec
  } { end end end }
  ifelse
} dup 0 systemdict put dup 4 $brkpage put bind put
--------------------cut here--------------------------------------------

Debbie Schwartz // das@voodoo.boeing.com  // or uunet!bcstec!voodoo!das 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads