All right, rebooting fixed my keyboard, so that's good. This is totally the year of Linux on the desktop, just you wait!
Anyway, the code I added last night, and tweaked earlier today, outstripped my test code, so now I've got to work on getting my code coverage back up, and making sure that the error cases all make sense. Speaking as the author of the code, and someone who is pretty careless about commenting my hobby code, I am looking at this code and kind of going "okay, so that means that, so when this condition is true, that means..." and it's just not worth it.
I hope I'll get my energy up further in a few weeks, when I'll feel comfortable walking around town again. Anyway, I'm going to wrap this up now so I can do whatever, maybe write those comments.