W condition: command will execute the command while the condition is true.
if you do W EQ X 15: command it will execute the command while X equals 15. if just before this line X is not 15 then it won’t execute at all (since the condition is not true). if X equals 15 it will execute, but then if you don’t modify X in the command X will stay at 15 so it’ll get stuck in an endless loop, repeating the command over and over again.
there is a safety mechanism for such scenario built into W - if it loops 10,000 times then it will continue to the next line, which is probably what you’re seeing.