RESET(III)                   5/10/73                   RESET(III)


     reset - execute non-local goto


     setexit( )

     reset( )


     These routines are useful for dealing with errors discovered

     in a low-level subroutine of a program.

     Setexit is typically called just at the start  of  the  main

     loop  of a processing program.  It stores certain parameters

     such as the call point and the stack level.

     Reset is typically called after diagnosing an error in  some

     subprocedure  called  from  the  main  loop.   When reset is

     called, it pops the  stack  appropriately  and  generates  a

     non-local return from the last call to setexit.

     It is erroneous, and generally  disastrous,  to  call  reset

     unless  setexit  has  been  called  in a routine which is an

     ancestor of reset.