Diff for /gforth/extend.fs between versions 1.62 and 1.67

version 1.62, 2007/12/31 18:40:24 version 1.67, 2010/12/31 18:09:02
Line 1 Line 1
 \ EXTEND.FS    CORE-EXT Word not fully tested!         12may93jaw  \ EXTEND.FS    CORE-EXT Word not fully tested!         12may93jaw
   
 \ Copyright (C) 1995,1998,2000,2003,2005,2007 Free Software Foundation, Inc.  \ Copyright (C) 1995,1998,2000,2003,2005,2007,2009,2010 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 50  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 199  variable span ( -- c-addr ) \ core-ext-o Line 199  variable span ( -- c-addr ) \ core-ext-o
     \G editing capabilites are available. The length of the string is      \G editing capabilites are available. The length of the string is
     \G stored in @code{span}; it does not include the <return>      \G stored in @code{span}; it does not include the <return>
     \G character. OBSOLESCENT: superceeded by @code{accept}.      \G character. OBSOLESCENT: superceeded by @code{accept}.
       everyline
     0 rot over      0 rot over
     BEGIN ( maxlen span c-addr pos1 )      BEGIN ( maxlen span c-addr pos1 )
         key decode ( maxlen span c-addr pos2 flag )          xkey decode ( maxlen span c-addr pos2 flag )
         >r 2over = r> or          >r 2over = r> or
     UNTIL      UNTIL
     2 pick swap /string type      2 pick swap /string type
Line 213  variable span ( -- c-addr ) \ core-ext-o Line 214  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 247  variable span ( -- c-addr ) \ core-ext-o Line 240  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.62  
changed lines
  Added in v.1.67


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