From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Samuel Wales Newsgroups: gmane.emacs.bugs Subject: bug#11774: [O] bug#11774: bug#11774: org-mode causes undo boundaries to be lost Date: Tue, 3 Jul 2012 11:13:07 -0700 Message-ID: References: <20120703095729.GA6651@c3po> <4FF30D50.8010009@os.inf.tu-dresden.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: dough.gmane.org 1341339641 31771 80.91.229.3 (3 Jul 2012 18:20:41 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 3 Jul 2012 18:20:41 +0000 (UTC) Cc: Bastien , Martin Pohlack , Toby Cubitt , 11774@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jul 03 20:20:40 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Sm7iJ-0006Nh-Ef for geb-bug-gnu-emacs@m.gmane.org; Tue, 03 Jul 2012 20:20:39 +0200 Original-Received: from localhost ([::1]:55310 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sm7iI-00075v-CI for geb-bug-gnu-emacs@m.gmane.org; Tue, 03 Jul 2012 14:20:38 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:37570) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sm7iE-0006y0-Ho for bug-gnu-emacs@gnu.org; Tue, 03 Jul 2012 14:20:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sm7i8-0008MW-AV for bug-gnu-emacs@gnu.org; Tue, 03 Jul 2012 14:20:34 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:36170) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sm7i0-0008Ik-0k; Tue, 03 Jul 2012 14:20:20 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1Sm7mX-0008F2-I7; Tue, 03 Jul 2012 14:25:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Samuel Wales Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org, emacs-orgmode@gnu.org Resent-Date: Tue, 03 Jul 2012 18:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11774 X-GNU-PR-Package: emacs,org-mode X-GNU-PR-Keywords: Original-Received: via spool by 11774-submit@debbugs.gnu.org id=B11774.134133989331664 (code B ref 11774); Tue, 03 Jul 2012 18:25:01 +0000 Original-Received: (at 11774) by debbugs.gnu.org; 3 Jul 2012 18:24:53 +0000 Original-Received: from localhost ([127.0.0.1]:45716 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sm7mO-0008Ee-46 for submit@debbugs.gnu.org; Tue, 03 Jul 2012 14:24:52 -0400 Original-Received: from mail-ob0-f172.google.com ([209.85.214.172]:59327) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sm7fc-00084y-0G for 11774@debbugs.gnu.org; Tue, 03 Jul 2012 14:17:56 -0400 Original-Received: by obbwc20 with SMTP id wc20so10331535obb.3 for <11774@debbugs.gnu.org>; Tue, 03 Jul 2012 11:13:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Jx50kAJdLBveLkDe8UES29TGsizh1i6ziApFsONqgOc=; b=mcKJCAv4xEwAR48f1pz3YdQX0YdFDP/50plTICjKhvOCVqFHTrn8+S/nmPdYjj9VeJ I06QbQtDwhx9ducufgcj6RXWLpC2VE56QRWUacNP7P09qwYKCwMF4n+Wq2wv6oWiUbuh pEi+1sWvXgDscKox4nIRvPh56RI1bYsekN50ZX7qJeC8wprAZ/TPqDYnYGhKmsJM9Qhe Pfuky+jEYXsKEanqGLBI0ewvOgibfsy2uTEdScm5AFMz6WD16/ObMUko76poe5+/m/ec QqbGCX4ea96Vm9RBvX6Wkno1dmbXrQ7X9qZbL2maSCROP4NNSycYKp4mRnR2Cc5RG9y9 ryIg== Original-Received: by 10.182.207.39 with SMTP id lt7mr4131211obc.67.1341339187667; Tue, 03 Jul 2012 11:13:07 -0700 (PDT) Original-Received: by 10.76.83.6 with HTTP; Tue, 3 Jul 2012 11:13:07 -0700 (PDT) In-Reply-To: X-Mailman-Approved-At: Tue, 03 Jul 2012 14:24:50 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:61543 Archived-At: On 7/3/12, Stefan Monnier wrote: > Indeed, self-insert-command used to be treated specially by the > read-eval-loop and the merging was performed there. Now this command is > handled like any other, and self-insert-command does the merging itself. > In most cases the result is the same, but the behavior is not quite > identical in the details. Here is the way I understand it: There are two problems with self-insert-command now, while before there was only one. The first is that it hardcodes the clustering by 20. As it happens, I strongly prefer clustering by 1. That is, I do not want undo to jump around or type more than necessary. I just want to autorepeat undo (C-/) until I get to where I need to be. Otherwise it is far too jerky and unpredictable and you have to type more either to delete (if you didn't undo far back enough) or add (if you undid too far). This was possible to work around before Emacs 24. You could advise self-insert-command or wrap it. This is why Org was able to control this with a variable to support clustering or not clustering. What is new in Emacs is that self-insert-command now destroys undo-boundary. If you wrap it, it destroys all of your effort on the next call to it. This causes subtle issues such as Org and undo-tree are dealing with. It is not reasonable to work around this because of the extra functionality you need to implement (especially if you want Org to do speed commands, table operations, and tag padding, which, who doesn't?). Unlike before, changing a hardcoded number or undo-boundary and then recompiling Emacs is necessary if you want to fix it. :( The loss of this ability to configure the cluster amount, and the subtle bug introduced, IMO merit a reversion or a fix to Emacs self-insert-command. Even just turning that magic 20 number into a variable would help. At least that's my understanding. I am just a user and I am not familiar with the internals. Samuel -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com