Diff for /gforth/glocals.fs between versions 1.21 and 1.23

version 1.21, 1996/05/09 18:12:59 version 1.23, 1996/07/16 20:57:09
Line 254  previous Line 254  previous
 : new-locals-reveal ( -- )  : new-locals-reveal ( -- )
   true abort" this should not happen: new-locals-reveal" ;    true abort" this should not happen: new-locals-reveal" ;
   
 create new-locals-map ' new-locals-find A, ' new-locals-reveal A,  create new-locals-map ( -- wordlist-map )
   ' new-locals-find A, ' new-locals-reveal A,
   
 vocabulary new-locals  vocabulary new-locals
 new-locals-map ' new-locals >body cell+ A! \ !! use special access words  new-locals-map ' new-locals >body cell+ A! \ !! use special access words
Line 504  forth definitions Line 505  forth definitions
         code-address!          code-address!
     then ;      then ;
   
 : TO ( c|w|d|r "name" -- ) \ core-ext,local  :noname
       ' dup >definer [ ' locals-wordlist >definer ] literal =
       if
           >body !
       else
           -&32 throw
       endif ;
   :noname
     0 0 0. 0.0e0 { c: clocal w: wlocal d: dlocal f: flocal }      0 0 0. 0.0e0 { c: clocal w: wlocal d: dlocal f: flocal }
     ' dup >definer      ' dup >definer
     case      case
Line 519  forth definitions Line 527  forth definitions
         [ ' flocal >definer ] literal          [ ' flocal >definer ] literal
         OF POSTPONE laddr# >body @ lp-offset, POSTPONE f! ENDOF          OF POSTPONE laddr# >body @ lp-offset, POSTPONE f! ENDOF
         -&32 throw          -&32 throw
     endcase ; immediate      endcase ;
 interpretation:  special: TO ( c|w|d|r "name" -- ) \ core-ext,local
     ' dup >definer [ ' locals-wordlist >definer ] literal =  
     if  
         >body !  
     else  
         -&32 throw  
     endif ;  
   
 : locals|  : locals|
     \ don't use 'locals|'! use '{'! A portable and free '{'      \ don't use 'locals|'! use '{'! A portable and free '{'

Removed from v.1.21  
changed lines
  Added in v.1.23


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