Diff for /gforth/kernel/cond.fs between versions 1.22 and 1.29

version 1.22, 2007/12/31 18:40:26 version 1.29, 2012/08/27 13:33:48
Line 1 Line 1
 \ Structural Conditionals                              12dec92py  \ Structural Conditionals                              12dec92py
   
 \ Copyright (C) 1995,1996,1997,2000,2003,2004,2007 Free Software Foundation, Inc.  \ Copyright (C) 1995,1996,1997,2000,2003,2004,2007,2010,2011 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 91  variable backedge-locals Line 91  variable backedge-locals
  rdrop   rdrop
  dup cs-item? ;    dup cs-item? ; 
   
   : CS-DROP ( dest -- ) \ gforth
       dest? 2drop ;
   
 : cs-push-part ( -- list addr )  : cs-push-part ( -- list addr )
  locals-list @ here ;   locals-list @ here ;
   
Line 184  IS until-like Line 187  IS until-like
     POSTPONE again      POSTPONE again
     POSTPONE then ; immediate restrict      POSTPONE then ; immediate restrict
   
   \ not clear if this should really go into Gforth's kernel...
   
   : CONTINUE ( dest-sys j*sys -- dest-sys j*sys ) \ gforth
       \g jump to the next outer BEGIN
       depth 0 ?DO  I pick dest = IF
               I cs-item-size / cs-pick postpone AGAIN
               UNLOOP  EXIT  THEN
       cs-item-size +LOOP
       true abort" no BEGIN found" ; immediate restrict
   
 \ counted loops  \ counted loops
   
 \ leave poses a little problem here  \ leave poses a little problem here
Line 224  Avariable leave-sp  leave-stack 3 cells Line 237  Avariable leave-sp  leave-stack 3 cells
     leave-sp ! ;      leave-sp ! ;
   
 : DONE ( compilation orig -- ; run-time -- ) \ gforth  : DONE ( compilation orig -- ; run-time -- ) \ gforth
     \ !! the original done had ( addr -- )      \g resolves all LEAVEs up to the compilaton orig (from a BEGIN)
     drop >r drop      drop >r drop
     begin      begin
         leave>          leave>

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


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