On Mon, Nov 10, 2014 at 12:20:01AM +0200, Max Kirillov wrote: > When gitk contains some changed parameter, and there is existing > instance of gitk where the parameter is still old, it is reverted to > that old value when the instance exits. > > Instead, store a parameter in config only it is has been modified in the > exiting instance. Otherwise, preserve the value which currently is in > file. This allows editing the configuration when several instances are > running, and don't get rollback of the modification if some other > instance where the configuration was not edited is closed last. > > For scalar variables, use trace(3tcl) to detect their change. Since `trace` can > send bogus events, doublecheck if the value has really been changed, but once > it is marked as changed, do not reset it back to unchanged ever, because if > user has restored the original value, it's the decision which should be stored > as well as modified value. > > Treat view list especially: instead of rewriting the whole list, merge > individual views. Place old and updated views at their older placed, add > new ones to the end of list. Collect modified view explicitly, in newviewok{} > and delview{}. > > Do not merge geometry values. They are almost always changing because > user moves and resises windows, and there is no way to find which one of > the geometries is most desired. Just overwrite them unconditionally, > like earlier. > > Signed-off-by: Max Kirillov <max@xxxxxxxxxx> Looks pretty nice; I just have one comment: > + lappend views_modified_names $current_viewname($v) This view_modified_names variable doesn't seem to be used anywhere. If you don't mind me taking out this line, I'll do that and apply the patch. Regards, Paul. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html