Since #4376, for-loops would set the loop variable outside, so it stays valid. They did this by doing the equivalent of ```fish set -l foo $foo for foo in 1 2 3 ``` And that first imaginary `set -l` would also fire a set-event. Since there's no use for it and the variable isn't actually set, we remove it. Fixes #8384.