skEdit v3.6 Preview: Part 1
Published November 22, 2005
This is the first part of a multi-part series describing changes in the upcoming v3.6 of skEdit. v3.6 is currently in the late stages of its development cycle.We're going to start with something boring, but important. For quite some time, skEdit has used a custom Undo/Redo implementation. It was initially written because the default Undo support provided by Cocoa (NSUndoManager) for NSTextView was insufficient. What I didn't realize at the time was that I could very easily extend that Undo support.
Therefore, I proceeded to write my own implementation. It worked pretty well - for most users, it rarely if ever caused problems. However, the Cocoa text system has tons of features. In my implementation, most of these features had to be accounted for individually. This meant that features I had not accounted for could cause Undo/Redo to lose some of your data. The trickiest part was that some features were either not documented or poorly documented. In addition, figuring exactly which features caused problems under what circumstances was near impossible.
During the v3.6 development cycle, I became frustrated enough with my implementation to reinvestigate using NSUndoManager. In a couple hours, I had it working in a test application and in a couple more hours, it was integrated into skEdit. This resolved every known Undo/Redo issue, and as far as I can tell, should prevent similar problems in the future.
So, hooray for no more broken Undo support :)
Stay tuned for part two of this series.
This used to be my main grief against skEdit, the one that made me feel insecure whenever I undid something... Thank you Sean
misteurti on November 23, 2005 #I've switched to TextMate mainly because of b0rked undo. Buggy syntax hightlighing was the second reason, so I'll wait for 4.0...
kL on November 23, 2005 #Keep up the good work. This only makes skedit that much better!
Kelsey Hightower on November 23, 2005 #AWESOME. I quite like skEdit but recently the undo/redo bug has been getting worse and worse for me...I lost about 2 hours of work the other day because I cut it, saved, and then tried to undo -- no dice. I've been looking for a new love but I don't like anything else. Plus, I already paid for skEdit. When is this release happening?
Ian R on December 14, 2005 #The release probably won't be until January.
Sean Kelly on December 14, 2005 #Soon enough! Fantastic!
Ian R on December 16, 2005 #