From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Newsgroups: gmane.emacs.devel Subject: RE: AW: AW: New undo element (fun . args) Date: Mon, 7 Feb 2005 17:29:48 +0100 Message-ID: NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1107795191 15283 80.91.229.6 (7 Feb 2005 16:53:11 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 7 Feb 2005 16:53:11 +0000 (UTC) Cc: emacs-devel@gnu.org, rms@gnu.org, storm@cua.dk Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 07 17:53:02 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1CyC8D-0005x1-00 for ; Mon, 07 Feb 2005 17:53:01 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CyCMN-00042Z-JJ for ged-emacs-devel@m.gmane.org; Mon, 07 Feb 2005 12:07:39 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1CyCFn-0001In-EH for emacs-devel@gnu.org; Mon, 07 Feb 2005 12:00:51 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1CyCFa-0001G2-Tj for emacs-devel@gnu.org; Mon, 07 Feb 2005 12:00:50 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CyCEe-0000dh-CQ for emacs-devel@gnu.org; Mon, 07 Feb 2005 11:59:40 -0500 Original-Received: from [192.76.162.229] (helo=world1.sdm.de) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CyBlq-0008GW-OK; Mon, 07 Feb 2005 11:30:03 -0500 Original-Received: from localhost ([127.0.0.1] helo=world1.sdm.de) by world1.sdm.de (MTA) via esmtp id 1CyBlm-0000bY-Mt; Mon, 07 Feb 2005 17:29:50 +0100 Original-Received: from mucns1.muc.sdm.de ([193.102.180.22]) by world1.sdm.de (MTA) via esmtp id 1CyBll-0000bT-Ou; Mon, 07 Feb 2005 17:29:49 +0100 Original-Received: by mucns1.muc.sdm.de (MTA) via esmtp from localhost ([127.0.0.1] helo=sdmmail1.sdm.de) id 1CyBll-0007Kb-N9; Mon, 07 Feb 2005 17:29:49 +0100 Original-Received: from mucmail1.sdm.de ([193.102.180.175]) by sdmmail1.sdm.de with Microsoft SMTPSVC(6.0.3790.211); Mon, 7 Feb 2005 17:29:48 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: AW: AW: New undo element (fun . args) Thread-Index: AcUNJ+ilpGIzssA9TeqALNMUMGSuiAAB2Vsw Original-To: X-OriginalArrivalTime: 07 Feb 2005 16:29:48.0987 (UTC) FILETIME=[3E0380B0:01C50D32] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:33022 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:33022 Stefan Monnier wrote: >> Then these are your experiences with "your" users... but for me an >> undo is annoying (and even quite unuseable) which doesn't protect me >> against accidentally "undoing some undos" (i.e. with current >> Emacs-undo i get no information from Emacs that my undo-action is >> not really an undo but a redo of a previous undo - if you understand >> what i try to say ;-)=20 >=20 > Of course I understand what you say. I worked on this specific part > of the behavior to implement undo-only. And your remark is not quite > true:=20 > the echo area tells you either "Undo!" or "Redo!" depending on whether > you're undoing an undo or not. Yes, that's right, so my statement was i simplification, i admit: IMHO a message in the echo-area is not eye-catching (or something elso ;-) = enough, to protect me really against this - when i want to undo soem things i = often hit the undo-keybinding very fast in sequence so i have really no chance to see when the echo-reports what you say and then stop my undoing - no = chance. > Actually my own local Emacs has a further hack such that when `undo' > notices it's actually undoing an undo it asks me whether I want to > "redo" or not (if not, it does what `undo-only' would have done, > skipping the redo-undo pair). This is an experiment and I'm not > satisfied with it as it is (it's too annoying). Hmm, maybe there is no undo-behavior available which satisfies all = people of the world and maybe this is really often a matter of taste or habit but for your experiment sounds very interesting - interesting enough so i would ask for an option where i can switch on this behavior (it would be very ok for me, if then default value would switch off this behavior = - all what i want - and a lot of other Emacser i know ;-) - is the = possibility to get an undoing which can be intuitively (or lets call it simpler - = i'm up for it) being used than the current one... >=20 >> And when undoing some steps i often reach a point where i do not know >> exactly where i'm in the undo-chain - whereas with redo.el i exactly >> know when i have undone all and when there is nothing more to undo - >=20 > Yes, redo.el is much more limited and has a much simpler linear model, > whereas Emacs's undo keeps track of a tree of buffer modifications, > which is more difficult to model in your head. a tree? really? That's indeed new for me - does the Emacs-manual explain = me this tree in an understandable way?...let's have a look... I found for example this in the manual of 21.3.1: "... Consecutive repetitions of `C-_' or `C-x u' undo earlier and = earlier changes, back to the limit of the undo information available. If all recorded changes have already been undone, the undo command displays an error message and does nothing." I have tried this and have to say that this simply not true. I have = deleted some regions from a buffer an d inserted some text and then i called = undo in a infinite sequence and never Emacs stops undoing - i could do this = until i get black-colored (a german phrase, i could also write "...until i = die" ;-) and i found=20 "... Any command other than an undo command breaks the sequence of undo commands. Starting from that moment, the previous undo commands become ordinary changes that you can undo. Thus, to redo changes you have undone, type `C-f' or any other command that will harmlessly break the sequence of undoing, then type more undo commands...." IMO i found this mechanism very clumsy that i have to call some = "harmless" command (which i don't need in this moment) to "break" the undoing and can redoing now my undos.... Sorry, maybe i'm too stupid but IMHO this is really not intuitive.., and = i found nothing in this description what would lead me to a undo-tree as = you wrote... > I wouldn't call it more intuitive, but simpler. Often simpler is better ... ;-) Ciao, Klaus