[gforth] / gforth / glocals.fs  

gforth: gforth/glocals.fs

Diff for /gforth/glocals.fs between version 1.19 and 1.23

version 1.19, Fri Feb 9 17:34:10 1996 UTC version 1.23, Tue Jul 16 20:57:09 1996 UTC
Line 254 
Line 254 
 : 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 
Line 505 
         code-address!          code-address!
     then ;      then ;
   
 : TO ( c|w|d|r "name" -- ) \ core-ext,local  :noname
 \ !! state smart      ' 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
  state @  
  if  
    case     case
      [ ' locals-wordlist >definer ] literal \ value       [ ' locals-wordlist >definer ] literal \ value
      OF >body POSTPONE Aliteral POSTPONE ! ENDOF       OF >body POSTPONE Aliteral POSTPONE ! ENDOF
Line 522 
Line 527 
      [ ' 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      endcase ;
  else  special: TO ( c|w|d|r "name" -- ) \ core-ext,local
    [ ' locals-wordlist >definer ] literal =  
    if  
      >body !  
    else  
      -&32 throw  
    endif  
  endif ; immediate  
   
 : locals|  : locals|
     \ don't use 'locals|'! use '{'! A portable and free '{'      \ don't use 'locals|'! use '{'! A portable and free '{'
     \ implementation is anslocals.fs      \ implementation is compat/anslocals.fs
     BEGIN      BEGIN
         name 2dup s" |" compare 0<>          name 2dup s" |" compare 0<>
     WHILE      WHILE


Generate output suitable for use with a patch program
Legend:
Removed from v.1.19  
changed lines
  Added in v.1.23

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help