Probably Not My Last DrJava Commit

Ok, so that certainly wasn’t my last DrJava commit. On the following Monday, 4/24, I found a few bugs that I fixed: The color of breakpoint and bookmark highlights wasn’t updated when the color was changed in the preferences, and breakpoint color wasn’t toggled when a breakpoint was enabled or disabled. The right OptionListeners just weren’t installed.

On Wednesday I found another bug while I was preparing for a presentation: When the user goes to a bookmark in a yet unseen document, the cursor is not placed at the right offset. For documents that have been seen yet, it worked. The problem was that the DefinitionsPane hadn’t been created yet, so all I had to do was defer setting the cursor using invokeLater.

I also implemented a crufty version of the clipboard history: Whenever something is placed in the clipboard, it is added to a list of the latest N entries. The user can then bring up that list and select from it, putting the selected entry back into the clipboard, moving it to the front of the list, and pasting it into the document.

On Thursday I compiled a list of sections in the DrJava user documentation that need to be updated. I’m still hoping for volunteers.

While grading programming projects on Friday, I noticed and diagnosed a problem with “Open Folder Recursively”. Corky, however, fixed it before I had a chance to commit my fix. His fix turned out to be less work anyway.

On Tuesday I also held my last Comp 212 lab and on Wednesday my last scheduled Comp 212 office hours. After the grading from Friday, now I only have one project milestone and the final exam left to grade. I’m feeling a weird mixture of relief and sadness. Comp 212 has been a part of my life since Fall 2001… That’s a long time. I’m sure it will still be a part of my life to some degree, and I’m also convinced the course will do fine without me (even though this year I’m not impressed with the other TAs), but I will definitely be less involved. After this, I have one semester of teaching requirement left, and I will TA Comp 311 again, a task that I have found more stimulating lately anyway. It is time for a change.

On Friday and on Saturday, I tried to figure out the cause of another bug that we had noticed, but failed: On some tablet PCs, DrJava hangs and does not close correctly if the application is closed with a newly created project open. On my tablet, resetting the interactions pane even on a quit solved the problem, but on others it didn’t. This bug remains a mystery, but it seems to be a concurrency problem.

Today (or rather, yesterday, on Sunday) I tried to stimulate a discussion on one of the DrJava mailing lists as to what goals we have achieved and where DrJava development should go next. Quite frankly, I’m a little disappointed that so many of the little tasks did not get accomplished. On the other hand, several big things on my wishlist got done: relative paths, “Go to File”, improved debugger and saved breakpoints, bookmarks, and even a limited version of code completion. Aside from full-blown code completion and code navigation (which requires light-weight parsing), the biggest things not accomplished are asynchronous finds and the navigation history that includes document switches, finds, and navigation to errors, breakpoints, and bookmarks.

I have already limited my engagement in DrJava, and I’m trying to stick to just correcting bugs that I have introduced or that affect “my” code. I would still like to get the navigation history done, but the biggest, baddest burning for big participation in the DrJava development is fortunately gone. This semester has made it so much more usable.


About Mathias

Software development engineer. Principal developer of DrJava. Recent Ph.D. graduate from the Department of Computer Science at Rice University.
This entry was posted in DrJava, Uncategorized. Bookmark the permalink.

Leave a Reply