The project didn't run properly anymore!
Apparently some time in recent years, something changed within Scratch, and my loop to parse tab separated data broke because now 0 (zero) compared with the tab character is evaluating to True.
if < = [ ]> then
I thought maybe Scratch now considers strings containing only whitespace characters to be “falsey”, and 0 (zero) is falsey too, so - they're equal! But my test using a space character disproved that idea. So, I'm not sure what the underlying engine bug is, but 0 (zero) should not be equal to tab, unless it's also equal to space and empty-string, etc. (Zero is even equal to multiple tab characters!)
Pretty odd! Thanks for any insights - I'm curious!