Diff for /gforth/objects.fs between versions 1.6 and 1.9

version 1.6, 1997/07/31 16:17:10 version 1.9, 1998/10/07 18:58:58
Line 177  does> ( ... object -- ... ) Line 177  does> ( ... object -- ... )
     \ copy it to make it unique; used for implementing a copy-on-write policy      \ copy it to make it unique; used for implementing a copy-on-write policy
     over @ class-parent @ class->map ( class-map offset parent-map )      over @ class-parent @ class->map ( class-map offset parent-map )
     over + @ >r  \ the map for the interface for the parent      over + @ >r  \ the map for the interface for the parent
     + dup @ ( mapp map )      + dup @ ( interface-mapp interface-map )
     dup r> =      dup r> =
     if      if
         @ interface-map 2@ save-mem drop          dup @ interface-map 2@ nip save-mem drop        
         swap !          swap !
     else      else
         2drop          2drop
Line 211  variable last-interface-offset 0 last-in Line 211  variable last-interface-offset 0 last-in
 : interface ( -- ) \ objects  : interface ( -- ) \ objects
     \g starts an interface definition.      \g starts an interface definition.
     interface% %allot >r      interface% %allot >r
     0 0 r@ interface-map 2!      r@ current-interface !
       current-interface 1 cells save-mem r@ interface-map 2!
     -1 cells last-interface-offset +!      -1 cells last-interface-offset +!
     last-interface-offset @ r@ interface-offset !      last-interface-offset @ r@ interface-offset !
     0 r@ interface-map-offset !      0 r> interface-map-offset ! ;
     r> current-interface ! ;  
   
 : end-interface-noname ( -- interface ) \ objects  : end-interface-noname ( -- interface ) \ objects
     \g ends an interface definition. The resulting interface is      \g ends an interface definition. The resulting interface is
Line 364  variable public-wordlist Line 364  variable public-wordlist
     POSTPONE to-this      POSTPONE to-this
     POSTPONE ; ; immediate      POSTPONE ; ; immediate
   
 : catch ( ... xt -- ... n )  : catch ( ... xt -- ... n ) \ exception
     \ make it safe to call CATCH within a method.      \ make it safe to call CATCH within a method.
     \ should also be done with all words containing CATCH.      \ should also be done with all words containing CATCH.
     this >r catch r> to-this ;      this >r catch r> to-this ;

Removed from v.1.6  
changed lines
  Added in v.1.9


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