From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: phillip.lord@russet.org.uk (Phillip Lord) Newsgroups: gmane.emacs.bugs Subject: bug#23785: Emacs 25: 'Undo' overdoes things. Date: Mon, 20 Jun 2016 18:12:29 +0100 Message-ID: <8737o7aio2.fsf@russet.org.uk> References: <20160617150245.GB3316@acm.fritz.box> <83r3bvbuu1.fsf@gnu.org> <20160617174535.GD3316@acm.fritz.box> <83oa6zbmvd.fsf@gnu.org> <87ziqjwkrb.fsf@russet.org.uk> <83eg7vaq3z.fsf@gnu.org> <83bn2y9v80.fsf@gnu.org> <87vb13ewc8.fsf@russet.org.uk> <83wplj7u2t.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1466444965 26278 80.91.229.3 (20 Jun 2016 17:49:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 20 Jun 2016 17:49:25 +0000 (UTC) Cc: acm@muc.de, 23785@debbugs.gnu.org, monnier@iro.umontreal.ca To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jun 20 19:49:09 2016 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 1bF3Jb-0001Ha-Au for geb-bug-gnu-emacs@m.gmane.org; Mon, 20 Jun 2016 19:48:51 +0200 Original-Received: from localhost ([::1]:45362 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bF3Ja-0001oK-Ln for geb-bug-gnu-emacs@m.gmane.org; Mon, 20 Jun 2016 13:48:50 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45716) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bF2l0-0002pi-Vl for bug-gnu-emacs@gnu.org; Mon, 20 Jun 2016 13:13:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bF2kv-0005ct-W0 for bug-gnu-emacs@gnu.org; Mon, 20 Jun 2016 13:13:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:35623) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bF2kv-0005ch-Sg for bug-gnu-emacs@gnu.org; Mon, 20 Jun 2016 13:13:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bF2kv-0006La-JJ for bug-gnu-emacs@gnu.org; Mon, 20 Jun 2016 13:13:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: phillip.lord@russet.org.uk (Phillip Lord) Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 20 Jun 2016 17:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23785 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 23785-submit@debbugs.gnu.org id=B23785.146644275724369 (code B ref 23785); Mon, 20 Jun 2016 17:13:01 +0000 Original-Received: (at 23785) by debbugs.gnu.org; 20 Jun 2016 17:12:37 +0000 Original-Received: from localhost ([127.0.0.1]:47960 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bF2kX-0006Kz-8x for submit@debbugs.gnu.org; Mon, 20 Jun 2016 13:12:37 -0400 Original-Received: from cloud103.planethippo.com ([31.216.48.48]:45229) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bF2kW-0006Ki-9w for 23785@debbugs.gnu.org; Mon, 20 Jun 2016 13:12:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=russet.org.uk; s=default; h=Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:References:Subject:Cc:To:From; bh=CzNvevihT3xjJTRQcncAkg8c35hLuELLP6f75XJLIDw=; b=AHO3d8nVX8yTYZObMLyB3SJur1 /OioEXO1xJ4bBeSzSvEyybStXOg7kNCbfnKD6/vxm/GEJ5MXsopL8l0HF63gcRMWZ7ji6l57zzrb2 bdfOWSaMz9QIgGUcLHebHWsBgV7w+tKonqGT1V+0/IFDAfHYhVdSOn86E0sQ60oadGMtkQDdwT/K0 3R35xEjrPRQe0aPhB96bf4gBePBJRFwmupTObbdH2oYtt3Dc19g9LtH5Y7a0MTMJd3xX2p6Hr6oRp y05PdajtemWlGiD9AsCjQffVTpRo8bYWnhoL3qIj3T/ZoVRcr7tLJyRJBX6bxkK3kJ4O0lE/TpD9X KbMfEPHg==; Original-Received: from janus-nat-128-240-225-60.ncl.ac.uk ([128.240.225.60]:32346 helo=russet.org.uk) by cloud103.planethippo.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128) (Exim 4.86_1) (envelope-from ) id 1bF2kQ-003dRC-1x; Mon, 20 Jun 2016 18:12:30 +0100 In-Reply-To: <83wplj7u2t.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 20 Jun 2016 18:34:18 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.95 (gnu/linux) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cloud103.planethippo.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - russet.org.uk X-Get-Message-Sender-Via: cloud103.planethippo.com: authenticated_id: phillip.lord@russet.org.uk X-Authenticated-Sender: cloud103.planethippo.com: phillip.lord@russet.org.uk X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.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" Xref: news.gmane.org gmane.emacs.bugs:119846 Archived-At: --=-=-= Content-Type: text/plain Eli Zaretskii writes: >> From: phillip.lord@russet.org.uk (Phillip Lord) >> Cc: "Eli Zaretskii" , acm@muc.de, 23785@debbugs.gnu.org >> Date: Mon, 20 Jun 2016 16:03:35 +0100 >> >> My suggestion: this patch goes to Emacs-25. > > What patch? Eli, do pay attention! The one that I didn't attach obviously. Phil --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Ensure-undo-boundary-after-insert-file-contents.patch >From a77a8683cddf918869b63fc3242ae594b186cc94 Mon Sep 17 00:00:00 2001 From: Phillip Lord Date: Mon, 20 Jun 2016 14:26:02 +0100 Subject: [PATCH] Ensure undo-boundary after insert-file-contents. * src/fileio.c: Record undoable change during insert-file-contents. Addresses Bug #23785. --- src/fileio.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/fileio.c b/src/fileio.c index b11f923..9fc1bd8 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -4047,8 +4047,16 @@ by calling `format-decode', which see. */) being called in insert_from_buffer (via in prepare_to_modify_buffer). */ specbind (intern ("buffer-file-name"), Qnil); + + /* + Temporarily enable the undo-buffer to ensure that the change + is marked as an undoable one. Bug #23785. + */ + bset_undo_list(current_buffer,Qnil); insert_from_buffer (XBUFFER (conversion_buffer), same_at_start_charpos, inserted_chars, 0); + bset_undo_list(current_buffer,Qt); + /* Set `inserted' to the number of inserted characters. */ inserted = PT - temp; /* Set point before the inserted characters. */ -- 2.9.0 --=-=-=--