I added lexical block handling to the debugger. Required a bit of hacking in mcs, the runtime, and the debugger.
It used to be that with the following code:
1: if (a) {
2: int y = 1;
3: }
4: else {
5: char y = 'a';
6: }
if you were at line 1, you could “print y” and see “(System.Int32) 0″, even though y wasn’t in scope yet. Also, you could “print y” on line 5 and get the same result. Both were clearly wrong.
now things should work properly, with both y’s coming into and out of scope, and you should also be able to see the correct type in the correct places. MonoDevelop’s locals pad also shows them in different ranges as it should.
Drove to the dmv and dpt to get my new registration and parking permit. I left at 8:30 am after taking Fiver out, went to the Daly City dmv, then back to the SF dpt, and was all done with by 10am. That’s got to be some kind of record.
One thing I noticed. The stretch of Guerrero/San Jose between Cesar Chavez and Randall has turned into a mecca for motorcycle cops. I counted 4 cars pulled over with a bike cop issuing them a ticket on the way toward Daly City, and then another 5 on the way back. And there were many more motorcycle cops riding around.
Sitting here, listening to Bonnie Prince Billy, reading email.
I look up, and 2 feet in front of me, Fiver is wildly spinning around in circles trying desperately to bite his own tail.
Fiver, meet the Internet. Internet, meet Fiver, our 9 week-old golden retriever pup.

So, so cute.