From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.bugs Subject: bug#16411: undo-only bugs Date: Mon, 13 Jan 2014 19:49:39 -0500 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1389660617 31546 80.91.229.3 (14 Jan 2014 00:50:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 14 Jan 2014 00:50:17 +0000 (UTC) Cc: 16411@debbugs.gnu.org To: Barry OReilly Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jan 14 01:50:22 2014 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 1W2sD0-0003s3-7G for geb-bug-gnu-emacs@m.gmane.org; Tue, 14 Jan 2014 01:50:22 +0100 Original-Received: from localhost ([::1]:45864 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W2sCz-0001Ns-Sk for geb-bug-gnu-emacs@m.gmane.org; Mon, 13 Jan 2014 19:50:21 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56146) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W2sCq-0001Ne-Hs for bug-gnu-emacs@gnu.org; Mon, 13 Jan 2014 19:50:19 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W2sCg-0005f6-2o for bug-gnu-emacs@gnu.org; Mon, 13 Jan 2014 19:50:12 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:35516) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W2sCf-0005dx-Vl for bug-gnu-emacs@gnu.org; Mon, 13 Jan 2014 19:50:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1W2sCf-0007vu-LJ for bug-gnu-emacs@gnu.org; Mon, 13 Jan 2014 19:50:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 14 Jan 2014 00:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16411 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 16411-submit@debbugs.gnu.org id=B16411.138966058430461 (code B ref 16411); Tue, 14 Jan 2014 00:50:01 +0000 Original-Received: (at 16411) by debbugs.gnu.org; 14 Jan 2014 00:49:44 +0000 Original-Received: from localhost ([127.0.0.1]:49535 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W2sCN-0007vE-H8 for submit@debbugs.gnu.org; Mon, 13 Jan 2014 19:49:43 -0500 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:40599) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W2sCL-0007v3-4C for 16411@debbugs.gnu.org; Mon, 13 Jan 2014 19:49:41 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFFMCoyj/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLNBIUGA0kLodwBsEtkQoDiGGcGYFegxU X-IPAS-Result: Av4EABK/CFFMCoyj/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLNBIUGA0kLodwBsEtkQoDiGGcGYFegxU X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="44868956" Original-Received: from 76-10-140-163.dsl.teksavvy.com (HELO pastel.home) ([76.10.140.163]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 13 Jan 2014 19:49:40 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id F3DDE6105F; Mon, 13 Jan 2014 19:49:39 -0500 (EST) In-Reply-To: (Barry OReilly's message of "Sat, 11 Jan 2014 00:09:26 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x 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:83430 Archived-At: >> I guess I do have some idea how to do it, but it looks like a lot of >> work, since we have to adjust the positions in the rest of >> pending-undo-list. > Are you saying the buffer positions in the undo data become > invalidated? That could indeed be a detail I missed. Let me take a > closer look. Not exactly invalidated, but we can't just skip an undo-record without adjusting the subsequent records. We can skip a bunch of undo-record specified via undo-equiv-table because that table stores pairs of undo states that correspond to the exact same buffer, so the "adjustment" is a no-op. >> Right: the loop that undoes N steps (either in undo-more or in undo >> if we change undo to only call undo-more with a 1) needs not only to >> use undo-equiv-table at each iteration to skip redo entries, but it >> also needs to add an entry in undo-equiv-table at each iteration. > And recall that these N are rolled into one redo record. Not sure what you mean here. > So a redo record needs to reference N records it undid. I'm even more confused. > Actually, this makes me realize the solution to bug 1 is inadequate. > Calling (undo-primitive 1) N times creates N redo records whereas > (undo-primitive N) creates one. No, primitive-undo does not add any undo boundary. Stefan