Being caused by a virus doesn't really make sense, nor does a corrupt HD. The code was fine after I saved and reloaded, but after I hit an error in the specific dialog I had been editing, the code for two files were overwritten with only my list of variables.
I've already gone back and enabled backup on save. Apparently saving religiously isn't enough in this case.
Actually, is there any way to save variables to a different file instead of the current script? I'm all paranoid now.