Hi When I click the "Save all" button, don't Lazarus save only the files that have changed since the last save? In that case, a "snapshot" needs only store the information that will be saved when the "Save all" button is clicked (and this information should be known somewhere in Lazarus). AFAIK that will be diffs of the .pas, .lfm and possibly the .lrs files of the current unit/form (and possibly of the project file and other units if changes were made to more than 1 unit). The point I am trying to make is that partial diffs of only the files that were actually changed (in memory), will work.
How far back do we want undo/redo to go? Do we want to be able to revert to a state from before the last "Save all"? Do we want to revert to changes done before Lazarus was closed the previous time (i.e. should these changes be saved when the project is closed)? Cheers Chavoux -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
