Diff for /gforth/blocks.fs between versions 1.44 and 1.49

version 1.44, 2006/10/08 11:30:55 version 1.49, 2007/02/18 18:59:40
Line 1 Line 1
 \ A less simple implementation of the blocks wordset.   \ A less simple implementation of the blocks wordset. 
   
 \ Copyright (C) 1995,1996,1997,1998,2000,2003 Free Software Foundation, Inc.  \ Copyright (C) 1995,1996,1997,1998,2000,2003,2006 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 78  Defer flush-blocks ( -- ) \ gforth Line 78  Defer flush-blocks ( -- ) \ gforth
     try ( c-addr u )      try ( c-addr u )
         2dup open-fpath-file throw          2dup open-fpath-file throw
         rot close-file throw  2dup file-status throw bin open-file throw          rot close-file throw  2dup file-status throw bin open-file throw
         >r 2drop r>          >r 2drop r> 0
     recover ( c-addr u ior )      restore endtry
       ?dup-if ( c-addr u ior )
         >r 2dup file-status nip 0= r> and throw \ does it really not exist?          >r 2dup file-status nip 0= r> and throw \ does it really not exist?
         r/w bin create-file throw          r/w bin create-file throw
     endtry      then
     block-fid @ IF      block-fid @ IF
         flush-blocks block-fid @ close-file throw          flush-blocks block-fid @ close-file throw
     THEN      THEN
Line 229  Create block-input   A, A, A, A, A, Line 230  Create block-input   A, A, A, A, A,
     \G @code{BLK}, set @code{>IN} to 0 and interpret. When the parse      \G @code{BLK}, set @code{>IN} to 0 and interpret. When the parse
     \G area is exhausted, restore the input source specification.      \G area is exhausted, restore the input source specification.
     block-input 0 new-tib dup loadline ! blk !  s" * a block*" loadfilename 2!      block-input 0 new-tib dup loadline ! blk !  s" * a block*" loadfilename 2!
     ['] interpret catch pop-file rethrow ;      ['] interpret catch pop-file throw ;
 [ELSE]  [ELSE]
 : (source)  ( -- c-addr u )  : (source)  ( -- c-addr u )
   blk @ ?dup    blk @ ?dup
Line 250  Create block-input   A, A, A, A, A, Line 251  Create block-input   A, A, A, A, A,
     dup loadline ! blk ! >in off ['] interpret catch      dup loadline ! blk ! >in off ['] interpret catch
     pop-file      pop-file
     r>loadfilename      r>loadfilename
     rethrow ;      throw ;
 [THEN]  [THEN]
   
 : thru ( i*x n1 n2 -- j*x ) \ block-ext  : thru ( i*x n1 n2 -- j*x ) \ block-ext

Removed from v.1.44  
changed lines
  Added in v.1.49


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