Diff for /gforth/except.fs between versions 1.22 and 1.25

version 1.22, 2010/08/31 20:10:59 version 1.25, 2010/12/31 18:09:02
Line 1 Line 1
 \ catch, throw, etc.  \ catch, throw, etc.
   
 \ Copyright (C) 1999,2000,2003,2006,2007 Free Software Foundation, Inc.  \ Copyright (C) 1999,2000,2003,2006,2007,2010 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 168  Variable first-throw Line 168  Variable first-throw
     then endtry ;      then endtry ;
 is catch  is catch
   
   [undefined] (throw1) [if]
   : (throw1) ( ... ball frame -- ... ball )
       dup rp! ( ... ball frame )
       cell+ dup @ lp!
       cell+ dup @ fp!
       cell+ dup @ ( ... ball addr sp ) -rot 2>r sp! drop 2r>
       cell+ @ perform ;
   [endif]
       
 :noname ( y1 .. ym error/0 -- y1 .. ym / z1 .. zn error ) \ exception  :noname ( y1 .. ym error/0 -- y1 .. ym / z1 .. zn error ) \ exception
     ?DUP IF      ?DUP IF
         [ here forthstart 9 cells + ! ]          [ here forthstart 9 cells + ! ]
Line 180  is catch Line 189  is catch
             2 (bye)              2 (bye)
 \           quit  \           quit
         THEN          THEN
         dup rp! ( ... ball frame )          \ cr .s dup 64 dump
         cell+ dup @ lp!          (throw1)
         cell+ dup @ fp!  
         cell+ dup @ ( ... ball addr sp ) -rot 2>r sp! drop 2r>  
         cell+ @ perform  
     THEN ;      THEN ;
 is throw  is throw

Removed from v.1.22  
changed lines
  Added in v.1.25


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>