
FORTH-WORDLIST VALUE #FORTH#
ENVIRONMENT-WORDLIST VALUE #ENVIRON#

TESTING bootup CURRENT must be FORTH-WORDLIST

{ GET-CURRENT -> #FORTH# }

TESTING ONLY FORTH should leave ORDER with only FORTH-WORDLIST

{ ONLY FORTH GET-ORDER -> #FORTH# 1 }

TESTING ONLY FORTH ALSO should leave two times FORTH-WORDLIST 

{ ONLY FORTH ALSO GET-ORDER -> #FORTH# #FORTH# 2 }

TESTING ONLY FORTH ALSO ENVIRONMENT should leave two different wordlists

{ ONLY FORTH ALSO ENVIRONMENT GET-ORDER -> #FORTH# #ENVIRON# 2 }

TESTING ONLY FORTH ALSO ENVIRONMENT DEFINITIONS should change CURRENT }
{ ONLY FORTH ALSO ENVIRONMENT DEFINITIONS GET-CURRENT -> #ENVIRON# }

TESTING PREVIOUS to revert ALSO
{ ONLY FORTH ALSO ENVIRONMENT PREVIOUS GET-ORDER -> #FORTH# 1 }

TESTING SET-ORDER / GET-ORDER pairs
{ #FORTH# #ENVIRON# 2 SET-ORDER GET-ORDER -> #FORTH# #ENVIRON# 2 }
{ ONLY FORTH ALSO ENVIRONMENT GET-ORDER ROT SWAP SET-ORDER GET-ORDER -> #ENVIRON# #FORTH#  2 }

[DEFINED] CURRENT [IF]
TESTING SET-CURRENT / GET-CURRENT and CURRENT ! / CURRENT @ identical
{ #ENVIRON# SET-CURRENT CURRENT @ -> #ENVIRON# }
{ FORTH DEFINITIONS CURRENT @ -> #FORTH# }
{ #ENVIRON# CURRENT ! GET-CURRENT -> #ENVIRON# }
[THEN]

[DEFINED] CONTEXT [IF]
TESTING SET-ORDER / GET-ORDER and CONTEXT ! / CONTEXT @ identical
{ #FORTH# #ENVIRON# 2 SET-ORDER CONTEXT @ -> #ENVIRON# }
{ #FORTH# #ENVIRON# 2 SET-ORDER CONTEXT CELL+ @ -> #FORTH# }
{ ONLY FORTH ALSO #ENVIRON# CONTEXT ! GET-ORDER -> #FORTH# #ENVIRON# 2 }
{ ONLY FORTH ALSO ENVIRONMENT CONTEXT CELL+ @ CONTEXT ! GET-ORDER -> #FORTH# #FORTH# 2 }
[THEN]
