It seems if you set a variable locally first, and then use /set or /var -g to change the value of the same var, the /set or /var -g will act as a local variable setter rather than a global one.

Here is a rather verbose example:

Code:
//var -s %X! Ok | set -s %X! Hello | echo -gaec i ** % $+ X! is local: $var(%X!,1).local | echo -gaec i ** During Script Processing: % $+ X! = %X! | .timer 1 0 echo -gaec i ** After Script Processing: % $!+ X! = % $+ X!


The same happens if used in a script file. (e.g., as an alias).

Initially, I thought this behavior was related to how the %var = value method of setting a variable acts as a local variable setter if the same var is set locally first, but now I'm being told that this is not the case and that what I have described is actually a bug, which (naturally) is why I'm reporting it here.