--- gforth/glocals.fs 2000/09/23 15:46:56 1.46 +++ gforth/glocals.fs 2003/03/09 15:16:49 1.52 @@ -1,6 +1,6 @@ \ A powerful locals implementation -\ Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc. +\ Copyright (C) 1995,1996,1997,1998,2000,2003 Free Software Foundation, Inc. \ This file is part of Gforth. @@ -87,6 +87,7 @@ require search.fs require float.fs +require extend.fs \ for case : compile-@local ( n -- ) \ gforth compile-fetch-local case @@ -632,9 +633,10 @@ forth definitions endif ; : >definer ( xt -- definer ) - \ 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! + \G @var{Definer} is a unique identifier for the way the @var{xt} + \G was defined. Words defined with different @code{does>}-codes + \G have different definers. The definer can be used for + \G comparison and in @code{definer!}. dup >does-code ?dup-if nip 1 or @@ -643,7 +645,8 @@ forth definitions then ; : definer! ( definer xt -- ) - \ gives the word represented by xt the behaviour associated with definer + \G The word represented by @var{xt} changes its behaviour to the + \G behaviour associated with @var{definer}. over 1 and if swap [ 1 invert ] literal and does-code! else @@ -682,7 +685,7 @@ interpret/compile: TO ( c|w|d|r "name" - \ don't use 'locals|'! use '{'! A portable and free '{' \ implementation is compat/anslocals.fs BEGIN - name 2dup s" |" compare 0<> + name 2dup s" |" str= 0= WHILE (local) REPEAT