Hehe, I manage to confuse myself pretty quickly so I'm sure it's not to hard to confuse others

I do get the Namespace Copy portion and can see why in some cases you wouldn't want to clear namspace vars. The thing I'm troubleshooting is in the miner script. I've made a bunch of logic changes and tried to streamline some funcitons in 2.6 in order to prep for the feature updates in 3.0. Part of this has been to implement my own standardized subs for gumps, clicks, etc. Somewhere in the logic I'm leaving variables set in STD as N/A so I'm thinking, based on all of our discussion, that I must be jumping out of a sub without pop'ng. Unfortunately I can see nothing glaringly obvious.
My logic is somehting like:
Set !totinker yes
Find shovel
If #findkind = -1 && !totinker = yes
gosub Tinker shovel
sub tinker
do stuff to use tool
gosub gumpwait gumpname gumpname gumpsize
gosub click x y
return
sub click
namespace push
namespace local Click
set !clickx %1
set !clicky %2
click !clickx !clicky
gosub gumpwait generic_gump generic_gump 507_123
namespace pop
return
sub gumpwait
namespace push
namespace local GW
set !GName1 %1
set !GName2 %2
set !GSize %3
wait for stuff
namespace pop
return
So this is obviously an oversimplified version but it makes the point. I go from the script body with the value of !ToTinker set to Yes. I Push STD and make a new namespace for clicking and gosub to the gumpwait and another push and new namespace GW. I pop/return, then pop/return thus I should be back to the STD namespace with !Totinker being back to a value of Yes but, instead, it stays N/A. This would seem as though I'm not pop'ng correctly out of one of the click or gump subs but I see nothing wrong.
Point is, this is why I'm asking so many questions lol! I'm really learning a lot, just not enough to figure out WTH I'm doing wrong hehe.
At some point I may post the code for debug if I end up giving up.
Any low-level dirt on how a namespace variable gets stored in memory during a namespace push operation?
X