--- gforth/glocals.fs 1995/11/07 18:06:43 1.15 +++ gforth/glocals.fs 1996/05/03 13:05:05 1.20 @@ -19,6 +19,9 @@ \ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +\ More documentation can be found in the manual and in +\ http://www.complang.tuwien.ac.at/papers/ertl94l.ps.gz + \ Local variables are quite important for writing readable programs, but \ IMO (anton) they are the worst part of the standard. There they are very \ restricted and have an ugly interface. @@ -485,7 +488,7 @@ forth definitions \ this gives a unique identifier for the way the xt was defined \ words defined with different does>-codes have different definers \ the definer can be used for comparison and in definer! - dup >code-address [ ' bits >code-address ] Literal = + dup >code-address [ ' spaces >code-address ] Literal = \ !! this definition will not work on some implementations for `bits' if \ if >code-address delivers the same value for all does>-def'd words >does-code 1 or \ bit 0 marks special treatment for does codes @@ -501,9 +504,7 @@ forth definitions code-address! then ; -\ !! untested : TO ( c|w|d|r "name" -- ) \ core-ext,local -\ !! state smart 0 0 0. 0.0e0 { c: clocal w: wlocal d: dlocal f: flocal } ' dup >definer state @ @@ -516,7 +517,7 @@ forth definitions [ ' wlocal >definer ] literal OF POSTPONE laddr# >body @ lp-offset, POSTPONE ! ENDOF [ ' dlocal >definer ] literal - OF POSTPONE laddr# >body @ lp-offset, POSTPONE d! ENDOF + OF POSTPONE laddr# >body @ lp-offset, POSTPONE 2! ENDOF [ ' flocal >definer ] literal OF POSTPONE laddr# >body @ lp-offset, POSTPONE f! ENDOF -&32 throw