From mboxrd@z Thu Jan 1 00:00:00 1970 From: nicolas.pouillard@gmail.com (Nicolas Pouillard) Date: Mon, 14 Sep 2009 18:29:09 +0200 Subject: [sup-talk] How hard would a universal undo be? In-Reply-To: <1252877576-sup-8500@zyrg.net> References: <1252517083-sup-58@yoom.home.cworth.org> <1252599828-sup-7368@zyrg.net> <1252660564-sup-4253@peray> <1252685502-sup-8928@zyrg.net> <1252877576-sup-8500@zyrg.net> Message-ID: <1252945595-sup-1907@peray> Excerpts from Rich Lane's message of Sun Sep 13 23:40:05 +0200 2009: > Excerpts from Nicolas Pouillard's message of Fri Sep 11 17:25:06 -0400 2009: > > On Fri, Sep 11, 2009 at 9:52 PM, Rich Lane wrote: > > > Excerpts from Nicolas Pouillard's message of Fri Sep 11 05:16:49 -0400 2009: > > >> Excerpts from Rich Lane's message of Fri Sep 11 00:45:20 +0200 2009: > > >> > Excerpts from Carl Worth's message of Wed Sep 09 13:32:30 -0400 2009: > > >> > > Would it be a small change to move the undo keybinding to somewhere > > >> > > more universal? > > >> > > > >> > No :( > > >> > > > >> > > As a first cut, I'd be happy if it just undid the changes to the > > >> > > index, even without undoing any interface changes. That is, if my > > >> > > previous command was archive-thread-and-view-next-thread, it would be > > >> > > OK if it just undid the archiving part. Bonus points if it also undoes > > >> > > the view-next part, but I can imagine that being more work. > > >> > > > >> > I know I sound a bit like a broken record here, but immediate > > >> > label changes will solve this problem. Then, the undo system would just > > >> > need to keep a global stack of (msgid, previous_labels). I'm just hoping > > >> > somebody will volunteer for this - it will be a big patch. > > >> > > >> What prevent us from having a global stack of (msgid, previous_labels) in > > >> the actual settings? > > > > > > Hmm, you may be right. I was thinking that changes weren't propagated > > > between buffers except on save, but that's wrong because UpdateManager > > > is called in the keybinding. In that case, the user sees a mostly* > > > linear series of label changes, so it's safe to have a global undo > > > stack. > > > > he next question is, what else is needed on this undo stack? > > > > Are labels the only interaction we have? Here is what come to my mind: > > > > * contacts (I more and more think that contacts should not be handled by > > sup directly, but that's another topic) > > * drafts > > > > What actions on drafts are you thinking of making undoable? Could we > implement them with reserved labels? No I think that's fine for now to consider, discarding, editing... non-undoable actions. Basically I agree with a global undo stack of labels, I'm just searching for issues ahead. -- Nicolas Pouillard http://nicolaspouillard.fr