Diff for /gforth/kernel/comp.fs between versions 1.85 and 1.86

version 1.85, 2006/03/05 14:29:05 version 1.86, 2006/03/05 20:57:41
Line 577  doer? :dodefer [IF] Line 577  doer? :dodefer [IF]
 \G set with @code{defer!} or @code{is} (and they have to, before first  \G set with @code{defer!} or @code{is} (and they have to, before first
 \G executing @i{name}.  \G executing @i{name}.
     Header Reveal dodefer: cfa,      Header Reveal dodefer: cfa,
     ['] defer-default A, ;      [ has? rom [IF] ] here >r cell allot
       dpp @ ram here r> flash! ['] defer-default A, dpp !
       [ [ELSE] ] ['] defer-default A, [ [THEN] ] ;
   
 [ELSE]  [ELSE]
   
     has? rom [IF]      has? rom [IF]
         : Defer ( "name" -- ) \ gforth          : Defer ( "name" -- ) \ gforth
             Create ['] defer-default A,              Create here >r cell allot
               dpp @ ram here r> flash! ['] defer-default A, dpp !
           DOES> @ @ execute ;            DOES> @ @ execute ;
     [ELSE]      [ELSE]
         : Defer ( "name" -- ) \ gforth          : Defer ( "name" -- ) \ gforth
Line 595  doer? :dodefer [IF] Line 598  doer? :dodefer [IF]
 : defer@ ( xt-deferred -- xt ) \ gforth defer-fetch  : defer@ ( xt-deferred -- xt ) \ gforth defer-fetch
 \G @i{xt} represents the word currently associated with the deferred  \G @i{xt} represents the word currently associated with the deferred
 \G word @i{xt-deferred}.  \G word @i{xt-deferred}.
     >body @ ;      >body @ [ has? rom [IF] ] @ [ [THEN] ] ;
   
 : Defers ( compilation "name" -- ; run-time ... -- ... ) \ gforth  : Defers ( compilation "name" -- ; run-time ... -- ... ) \ gforth
     \G Compiles the present contents of the deferred word @i{name}      \G Compiles the present contents of the deferred word @i{name}
Line 617  interpret/compile: DOES>  ( compilation Line 620  interpret/compile: DOES>  ( compilation
   
 : defer! ( xt xt-deferred -- ) \ gforth  defer-store  : defer! ( xt xt-deferred -- ) \ gforth  defer-store
 \G Changes the @code{defer}red word @var{xt-deferred} to execute @var{xt}.  \G Changes the @code{defer}red word @var{xt-deferred} to execute @var{xt}.
     >body ! ;      >body [ has? rom [IF] ] @ [ [THEN] ] ! ;
           
 : <IS> ( "name" xt -- ) \ gforth  : <IS> ( "name" xt -- ) \ gforth
     \g Changes the @code{defer}red word @var{name} to execute @var{xt}.      \g Changes the @code{defer}red word @var{name} to execute @var{xt}.

Removed from v.1.85  
changed lines
  Added in v.1.86


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