Diff for /gforth/extend.fs between versions 1.61 and 1.64

version 1.61, 2007/12/31 17:34:58 version 1.64, 2009/10/03 18:25:31
Line 6 Line 6
   
 \ Gforth is free software; you can redistribute it and/or  \ Gforth is free software; you can redistribute it and/or
 \ modify it under the terms of the GNU General Public License  \ modify it under the terms of the GNU General Public License
 \ as published by the Free Software Foundation; either version 2  \ as published by the Free Software Foundation, either version 3
 \ of the License, or (at your option) any later version.  \ of the License, or (at your option) any later version.
   
 \ This program is distributed in the hope that it will be useful,  \ This program is distributed in the hope that it will be useful,
Line 15 Line 15
 \ GNU General Public License for more details.  \ GNU General Public License for more details.
   
 \ You should have received a copy of the GNU General Public License  \ You should have received a copy of the GNU General Public License
 \ along with this program; if not, write to the Free Software  \ along with this program. If not, see http://www.gnu.org/licenses/.
 \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.  
   
   
 \ May be cross-compiled  \ May be cross-compiled
Line 51  decimal Line 50  decimal
     >r s>d >r abs -rot      >r s>d >r abs -rot
     s>d r> xor r> swap >r >r dabs rot tuck um* 2swap um*      s>d r> xor r> swap >r >r dabs rot tuck um* 2swap um*
     swap >r 0 d+ r> -rot r@ um/mod -rot r> um/mod      swap >r 0 d+ r> -rot r@ um/mod -rot r> um/mod
     [ s" floored" environment? 0= throw ] [if]      [ 1 -3 mod 0< ] [if]
         -rot r> IF IF 1. d+ THEN dnegate ELSE drop THEN          -rot r> IF IF 1. d+ THEN dnegate ELSE drop THEN
     [else]      [else]
         nip swap r> IF dnegate THEN          nip swap r> IF dnegate THEN
Line 214  variable span ( -- c-addr ) \ core-ext-o Line 213  variable span ( -- c-addr ) \ core-ext-o
 \ defined afterwards) when executing the mark.  \ defined afterwards) when executing the mark.
   
 : included-files-mark ( -- u )  : included-files-mark ( -- u )
     included-files 2@ nip      included-files @ ;
     blk @ 0=  
     if \ not input from blocks  
         source-id 1 -1 within  
         if \ input from file  
             1- \ do not include the last file (hopefully this is the  
                \ currently included file)  
         then  
     then ;    
   
 \ hmm, most of the saving appears to be pretty unnecessary: we could  \ hmm, most of the saving appears to be pretty unnecessary: we could
 \ derive the wordlists and the words that have to be kept from the  \ derive the wordlists and the words that have to be kept from the
Line 248  variable span ( -- c-addr ) \ core-ext-o Line 239  variable span ( -- c-addr ) \ core-ext-o
   
 : marker! ( mark -- )  : marker! ( mark -- )
     \ reset included files count; resize will happen on next add-included-file      \ reset included files count; resize will happen on next add-included-file
     included-files 2@ drop over @ included-files 2! cell+      included-files @ over @ min included-files ! cell+
     \ rest of marker!      \ rest of marker!
     dup @ swap cell+ ( here rest-of-marker )      dup @ swap cell+ ( here rest-of-marker )
     dup @ voclink ! cell+      dup @ voclink ! cell+

Removed from v.1.61  
changed lines
  Added in v.1.64


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