"WITH-SPY kernel extension"

These words are of old Tek CTE/MPT usage - it is
quite useful for debugging, but in a portable
environment it just means a minor speed penalty
even if SPY_OFF and a great speed penalty
if SPY_ON. The default should be to not include
it but some special Tek builds.
Tektronix CTE %version: 1.5 % GNU LGPL
* SPY-EXIT ( -- )

will unnest the current colon-word so it will actually
return the word calling it. This can be found in the
middle of a colon-sequence between : and ;

with_spy ordinary primitive

* SPY: ( name -- )

create a header for a nesting word and go to compiling
mode then. This word is usually ended with ; but
the execution of the resulting colon-word can also
return with EXIT
this is the spy-version SPY_ON

with_spy defining primitive

* ;SPY ( -- )

compiles ((;)) which does EXIT the current
colon-definition. It does then end compile-mode
and returns to execute-mode. See : and :NONAME

with_spy compiling primitive

* SPY_ON ( -- )

change the runtime-code of (NEST)
to call a special word that prints info
to the screen whenever a colon word is
entered. It will print the name and
the current stack, and results in a kind
of execution trace over SPY' :-colon nested

with_spy ordinary primitive

* SPY_OFF ( -- )

disable SPY_ON nest-trace.

with_spy ordinary primitive

* SPY' : ( name -- )


with_spy forthword synonym

* SPY' ; ( -- )


with_spy immediate synonym

* SPY' EXIT ( -- )


with_spy immediate synonym