GNU bug report logs - #77580
[PATCH] New command ediff-undo

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: "Paul D. Nelson" <ultrono@HIDDEN>; Keywords: patch; dated Sun, 6 Apr 2025 15:46:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 9 Apr 2025 13:16:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 09 09:16:35 2025
Received: from localhost ([127.0.0.1]:38334 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2VIB-0008NG-24
	for submit <at> debbugs.gnu.org; Wed, 09 Apr 2025 09:16:35 -0400
Received: from mout.web.de ([212.227.15.4]:60041)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael_heerdegen@HIDDEN>)
 id 1u2VI8-0008My-DB
 for 77580 <at> debbugs.gnu.org; Wed, 09 Apr 2025 09:16:33 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de;
 s=s29768273; t=1744204580; x=1744809380;
 i=michael_heerdegen@HIDDEN;
 bh=hXqmXcNH2ABvKtMCC4b9s8Bg05delGMEEgntsjVzicA=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=Sbys5Cr1mIlxWpVnfBZikhh3tZoBCT/36TdfmNvu58zhg0/fnrA7pAV5aQPfoRk0
 XAo8QTuJ/h0BCq2ErT4YtmjJPMDtfuqK7I/Ga0bLnZr5Z2aRWKt/DttCQ9g7fERd1
 q9Tb8qIWWrbazaloPiv1tc+v8o8cnifCcIcENQh8/SMsByABQH7OMd7Uh3unpaIhC
 BJ0G11ev5ukEkc+i+vWX5DqbG5pQU+UxHJo6TyMhFTLbO32YmhwC3/QtnsC6hoeCT
 ZfPq45iKX2oA3wAKI//qmzpNzLdTgdssJ8SVc75wb2kz2A6GlVsNWWQD6bIfjg8PR
 UcX0FlWKUDgkYHEdBA==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Received: from drachen.dragon ([88.66.201.230]) by smtp.web.de (mrweb006
 [213.165.67.108]) with ESMTPSA (Nemesis) id 1Mkmvj-1tLRd535Rf-00aehj; Wed, 09
 Apr 2025 15:16:20 +0200
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: Michael Heerdegen via "Bug reports for GNU Emacs, the Swiss army knife
 of text editors" <bug-gnu-emacs@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
In-Reply-To: <87h62xk9ec.fsf@HIDDEN>
References: <uxsg7tfrilxpir.fsf@HIDDEN> <87h62xk9ec.fsf@HIDDEN>
Date: Wed, 09 Apr 2025 15:17:55 +0200
Message-ID: <871pu1jwxo.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:NAH+nDkrh0FKYlBR6PXe8AEzw4ll6B0Y0K0E6bRjgTdR2KCAi43
 S+7xyeu501u25HdmEBTmNyLgbo+ykQoTOZAXh4aX3Reho4YoNJrW3RXCE3T57XcBW9L/ANx
 +OlqOSJjUHRMSsUDLF13wMZgimJDvnt0Ruw5UOCepMoyZGkrKhn7ZrM0Et+ZVaoEc9dmNV9
 ljVNVMvQmkLx264nrlDkg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:TF8L7jtmT+c=;g9gMeVwvFSbX1LZ2DJk9bibOtxk
 oNjhjhUj9stIKof7hc8cgie/yZB76eTeMuCvsSkkS/xe8fqxhok9YoeqM2JUPN4d4EMOKt7cL
 F0v5Q4pq/L+PJRVyHSKqUCwzzSmaXzoWTcTpv1Lno9vaa7DsdPzTPYLytNQ3rvHAbrywI4lVv
 Az/4nV1xIbBsIT0PqFs48cuucyaXM0l5GYsy1a3itG1vRwRkODf5pioMXy5387iUXonD1Vl/o
 oISAzyPHnFF01y+MZQ6kM04/+M9uK/NjO8bDUxXHPRz/gP4Cd+cfruCAKJn9PpL3aiTbzHzTw
 0TcU2pLv8e3QnXbKKXbplW6lQfV0H2n6EOA9RchuEpRPjFEy5YYsojnsvMoYgtEOkKJhZvJ/H
 kDCtOV3NnWBAd4VkRN5uOoVCDScWKqZMGkuYdLL6k2sQGgxZgt5K7wq/D74dPNhurmd1LNXuN
 pJ73aqqWxbE36UHGTASTbFW90de9zLcpcmT03iVs5iR3jg1f5QYoX/mJfOdbAVCNeINj3+1Xc
 NWlwXN4GeU+wqWE2qTKWYdzlMu8oAPfRZ+kLXf022aLMCfYEDZiu4im7nDMnb/AVWWY39DYFS
 zwAf13ft6LDhFSebMHt9tcPFmDtu5P58QS2DbsmIstXwBcXePW+27a9C4kHRX7BzcbGmtXy9l
 4pn1EV0J6XNoHLmRyH7JM/GmNXHapL9IMzEhNV1MW0rON1p8p10kn1wRl264rHjkYRZ8/f7ia
 xoznNsBMrJinXHDvmDiFWMvg1JXd+pFZrJUd1K0owlRv6LtGGdLEHvvdtgUGkfQgUUtyvG3EC
 Y9TVsPZKdUWmzu9g9W8Wwj37MQziGD25UYODKkpa2JIw9FFyIthl8flT8N1msxyYHcufXHdKq
 MGoW/Xn1JJkuiYaWAp0DycE1kRPNQ48+IC7zBGj5Xt7l3I9GIMTeIN46i/aDSjJgJxWXtbyRa
 /xp8dUTXtP3QLJWtU9JL08VuN2Wzjs6u8vG0juEi5EgmIfQyxpQO478dDvytvkEDDKJSDdFxY
 GInIf30wSAZhVvKDbd1bdyWc5ymMC8pOEXMtQEf4coj5BeyOFihyQJlJ0tBlFbAs/JcoF03nL
 B22gVs9EWwT74laBOKx6iEmTFVznMCNCPU1/BO6fu1ZCfUgLrmrmdQWLo6dM5+tWslQEJn32a
 SKGuzerK3/PZGjkW0EZg1GKAA8BcYZymVoe5GBw8sOnXJXwl2UxZCcULbFw1wIyC2DSBB0oz1
 lDNbADuJ0SKfqGAoGU0ozeN7kGBEGrrBw5bh9kUPnNOIFD9E4nzQru2wKSgYCPkscICn6oiVd
 txCIK6tibl2QUh+5TZgwrHXsWjNBGEKn3P92A44U1/vdIW0Ta1ouNjJFK0QEnr6J62RhhgrxM
 isIsJdKcq4NabY6scz/VWC3x76CJ2SE0Pj+B3fj9GdfQ3MSPB+rP0envilGzxmA7gHG0W1V+S
 8/Mx7mA==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 77580
Cc: 77580 <at> debbugs.gnu.org, "Paul D. Nelson" <ultrono@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Michael Heerdegen via "Bug reports for GNU Emacs, the Swiss army knife
of text editors" <bug-gnu-emacs@HIDDEN> writes:

> I want to hint at the Gnu Elpa package "vundo" that is able to
> Ediff undo states.

Small correction: currently it uses diff.  It's possible to get Ediff
too, though.  The author of vundo is open to good ideas, so it's at
least an option to improve this (quite nice) package to make it even
better.


Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 9 Apr 2025 13:16:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 09 09:16:50 2025
Received: from localhost ([127.0.0.1]:38337 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2VIP-0008Nl-LD
	for submit <at> debbugs.gnu.org; Wed, 09 Apr 2025 09:16:49 -0400
Received: from lists.gnu.org ([2001:470:142::17]:48608)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael_heerdegen@HIDDEN>)
 id 1u2VID-0008N2-34
 for submit <at> debbugs.gnu.org; Wed, 09 Apr 2025 09:16:37 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <michael_heerdegen@HIDDEN>)
 id 1u2VI2-0002lY-G3
 for bug-gnu-emacs@HIDDEN; Wed, 09 Apr 2025 09:16:26 -0400
Received: from mout.web.de ([212.227.15.4])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <michael_heerdegen@HIDDEN>)
 id 1u2VHz-000121-4q
 for bug-gnu-emacs@HIDDEN; Wed, 09 Apr 2025 09:16:25 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de;
 s=s29768273; t=1744204580; x=1744809380;
 i=michael_heerdegen@HIDDEN;
 bh=hXqmXcNH2ABvKtMCC4b9s8Bg05delGMEEgntsjVzicA=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=Sbys5Cr1mIlxWpVnfBZikhh3tZoBCT/36TdfmNvu58zhg0/fnrA7pAV5aQPfoRk0
 XAo8QTuJ/h0BCq2ErT4YtmjJPMDtfuqK7I/Ga0bLnZr5Z2aRWKt/DttCQ9g7fERd1
 q9Tb8qIWWrbazaloPiv1tc+v8o8cnifCcIcENQh8/SMsByABQH7OMd7Uh3unpaIhC
 BJ0G11ev5ukEkc+i+vWX5DqbG5pQU+UxHJo6TyMhFTLbO32YmhwC3/QtnsC6hoeCT
 ZfPq45iKX2oA3wAKI//qmzpNzLdTgdssJ8SVc75wb2kz2A6GlVsNWWQD6bIfjg8PR
 UcX0FlWKUDgkYHEdBA==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Received: from drachen.dragon ([88.66.201.230]) by smtp.web.de (mrweb006
 [213.165.67.108]) with ESMTPSA (Nemesis) id 1Mkmvj-1tLRd535Rf-00aehj; Wed, 09
 Apr 2025 15:16:20 +0200
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: Michael Heerdegen via "Bug reports for GNU Emacs, the Swiss army knife
 of text editors" <bug-gnu-emacs@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
In-Reply-To: <87h62xk9ec.fsf@HIDDEN>
References: <uxsg7tfrilxpir.fsf@HIDDEN> <87h62xk9ec.fsf@HIDDEN>
Date: Wed, 09 Apr 2025 15:17:55 +0200
Message-ID: <871pu1jwxo.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:NAH+nDkrh0FKYlBR6PXe8AEzw4ll6B0Y0K0E6bRjgTdR2KCAi43
 S+7xyeu501u25HdmEBTmNyLgbo+ykQoTOZAXh4aX3Reho4YoNJrW3RXCE3T57XcBW9L/ANx
 +OlqOSJjUHRMSsUDLF13wMZgimJDvnt0Ruw5UOCepMoyZGkrKhn7ZrM0Et+ZVaoEc9dmNV9
 ljVNVMvQmkLx264nrlDkg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:TF8L7jtmT+c=;g9gMeVwvFSbX1LZ2DJk9bibOtxk
 oNjhjhUj9stIKof7hc8cgie/yZB76eTeMuCvsSkkS/xe8fqxhok9YoeqM2JUPN4d4EMOKt7cL
 F0v5Q4pq/L+PJRVyHSKqUCwzzSmaXzoWTcTpv1Lno9vaa7DsdPzTPYLytNQ3rvHAbrywI4lVv
 Az/4nV1xIbBsIT0PqFs48cuucyaXM0l5GYsy1a3itG1vRwRkODf5pioMXy5387iUXonD1Vl/o
 oISAzyPHnFF01y+MZQ6kM04/+M9uK/NjO8bDUxXHPRz/gP4Cd+cfruCAKJn9PpL3aiTbzHzTw
 0TcU2pLv8e3QnXbKKXbplW6lQfV0H2n6EOA9RchuEpRPjFEy5YYsojnsvMoYgtEOkKJhZvJ/H
 kDCtOV3NnWBAd4VkRN5uOoVCDScWKqZMGkuYdLL6k2sQGgxZgt5K7wq/D74dPNhurmd1LNXuN
 pJ73aqqWxbE36UHGTASTbFW90de9zLcpcmT03iVs5iR3jg1f5QYoX/mJfOdbAVCNeINj3+1Xc
 NWlwXN4GeU+wqWE2qTKWYdzlMu8oAPfRZ+kLXf022aLMCfYEDZiu4im7nDMnb/AVWWY39DYFS
 zwAf13ft6LDhFSebMHt9tcPFmDtu5P58QS2DbsmIstXwBcXePW+27a9C4kHRX7BzcbGmtXy9l
 4pn1EV0J6XNoHLmRyH7JM/GmNXHapL9IMzEhNV1MW0rON1p8p10kn1wRl264rHjkYRZ8/f7ia
 xoznNsBMrJinXHDvmDiFWMvg1JXd+pFZrJUd1K0owlRv6LtGGdLEHvvdtgUGkfQgUUtyvG3EC
 Y9TVsPZKdUWmzu9g9W8Wwj37MQziGD25UYODKkpa2JIw9FFyIthl8flT8N1msxyYHcufXHdKq
 MGoW/Xn1JJkuiYaWAp0DycE1kRPNQ48+IC7zBGj5Xt7l3I9GIMTeIN46i/aDSjJgJxWXtbyRa
 /xp8dUTXtP3QLJWtU9JL08VuN2Wzjs6u8vG0juEi5EgmIfQyxpQO478dDvytvkEDDKJSDdFxY
 GInIf30wSAZhVvKDbd1bdyWc5ymMC8pOEXMtQEf4coj5BeyOFihyQJlJ0tBlFbAs/JcoF03nL
 B22gVs9EWwT74laBOKx6iEmTFVznMCNCPU1/BO6fu1ZCfUgLrmrmdQWLo6dM5+tWslQEJn32a
 SKGuzerK3/PZGjkW0EZg1GKAA8BcYZymVoe5GBw8sOnXJXwl2UxZCcULbFw1wIyC2DSBB0oz1
 lDNbADuJ0SKfqGAoGU0ozeN7kGBEGrrBw5bh9kUPnNOIFD9E4nzQru2wKSgYCPkscICn6oiVd
 txCIK6tibl2QUh+5TZgwrHXsWjNBGEKn3P92A44U1/vdIW0Ta1ouNjJFK0QEnr6J62RhhgrxM
 isIsJdKcq4NabY6scz/VWC3x76CJ2SE0Pj+B3fj9GdfQ3MSPB+rP0envilGzxmA7gHG0W1V+S
 8/Mx7mA==
Received-SPF: pass client-ip=212.227.15.4;
 envelope-from=michael_heerdegen@HIDDEN; helo=mout.web.de
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: submit
Cc: 77580 <at> debbugs.gnu.org, "Paul D. Nelson" <ultrono@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Michael Heerdegen via "Bug reports for GNU Emacs, the Swiss army knife
of text editors" <bug-gnu-emacs@HIDDEN> writes:

> I want to hint at the Gnu Elpa package "vundo" that is able to
> Ediff undo states.

Small correction: currently it uses diff.  It's possible to get Ediff
too, though.  The author of vundo is open to good ideas, so it's at
least an option to improve this (quite nice) package to make it even
better.


Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 9 Apr 2025 10:38:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 09 06:38:24 2025
Received: from localhost ([127.0.0.1]:37853 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2Sp5-00011o-QI
	for submit <at> debbugs.gnu.org; Wed, 09 Apr 2025 06:38:24 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:53454)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <spwhitton@HIDDEN>)
 id 1u2Sp1-000112-Gc
 for 77580 <at> debbugs.gnu.org; Wed, 09 Apr 2025 06:38:21 -0400
DKIM-Signature: a=rsa-sha256;
 b=luXX8UKajEnrqDgONrdXUrnDeDLxCSchp89TSHmGYl9+NOp+0BsoZB4z1tCfX+NXCsqh8RNdGoyTCKQ2x4O+x6LG5HxucJaThVj9qsO/LTRRha3+EYtXcXLmN6DmHfnj6AgAdy8giJ8nDq9/te2WZSMNzbXHOQdJ7MHbjzDGohvKQaA/+dnvKk5HTHZt8KbXa4o/CaayXfdsWtLYDKjoVRlveAg0cee9j+z8ALErIDD4YNPmORynEFIWEqumz2A70eWpuqSshl4HifN4o/WMOok96BbF25W7OEsOaaCHdcz+3ry8C9LsHIujyNLtrwpci/9S/KUnb5JlM9gwt1bJUQ==;
 s=purelymail2; d=spwhitton.name; v=1;
 bh=mXUxFLgLUGONqEHuZzD7jANJR0PEwV6lVZIxR9we6ng=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=ewwJi+GGruciVIkcTgib6T4BscXlV+83CVPBvi/x7XwJUhsPNeAf6kG9yHLO/s45kHUl0MM/23VfGHNdVlWyGFvYDYo96yBPNrNHgFB4SBLXHesk3GYK1xODf/RwrKk8MTK/eeEgsQr7G4eYjRH7r/7i+2ryUzvPy7xcQM5ltwKoFSJ2fNrJWWc0yoJ6DUo8ZHohfBeYh81pykScx70WvhZUqNcZ/rXqNryowUe19YshCCbyf5wgxImAn2edu9UDlHdJsyMm9M6sPLjOxBLGrTHRp+uk9Kg2VZQxgEgu+Tgab/amNcliJjYS+WGjisOttM9nlD0XFNTFsnQs8KUmNg==;
 s=purelymail2; d=purelymail.com; v=1;
 bh=mXUxFLgLUGONqEHuZzD7jANJR0PEwV6lVZIxR9we6ng=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 77580 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 284143074; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 09 Apr 2025 10:38:12 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id CF4DB7EFB23; Wed, 09 Apr 2025 18:38:08 +0800 (CST)
From: Sean Whitton <spwhitton@HIDDEN>
To: "Paul D. Nelson" <ultrono@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
In-Reply-To: <87h62xk9ec.fsf@HIDDEN>
References: <uxsg7tfrilxpir.fsf@HIDDEN> <87h62xk9ec.fsf@HIDDEN>
Date: Wed, 09 Apr 2025 18:38:08 +0800
Message-ID: <877c3tei27.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77580
Cc: Michael Heerdegen <michael_heerdegen@HIDDEN>, 77580 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello,

On Wed 09 Apr 2025 at 10:48am +02, Michael Heerdegen via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote:

> Hello Paul and Sean,
>
> I want to hint at the Gnu Elpa package "vundo" that is able to
> Ediff undo states.
>
> It's ok if you aim at a different interface - but I want to avoid that
> at the end you are more or less end developing the same thing again.

Huh.  Thanks!  Paul, could you take a look?

-- 
Sean Whitton




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 9 Apr 2025 08:47:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 09 04:47:21 2025
Received: from localhost ([127.0.0.1]:37419 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2R5d-0008Ei-KL
	for submit <at> debbugs.gnu.org; Wed, 09 Apr 2025 04:47:21 -0400
Received: from mout.web.de ([212.227.15.14]:60385)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael_heerdegen@HIDDEN>)
 id 1u2R5a-0008E4-Rh
 for 77580 <at> debbugs.gnu.org; Wed, 09 Apr 2025 04:47:19 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de;
 s=s29768273; t=1744188429; x=1744793229;
 i=michael_heerdegen@HIDDEN;
 bh=eZEBi8IcHpwdQZAI53LeBDAmPMYsJhg8X6IH1oVdMYs=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=FPd4RnqNrscptmjjLI6GdKWP+q0WYGENwkU/RMI0MSs2gXiQT5/bvbjAbttic/rh
 +eDLiH0ryTUHNtLWWOUEO301h9r7wfgdrGJsSEHAX8tUNXUf7njVwR7cuolcE7MED
 NFByNyVbta4AWzWYwNGJ8Tz6hbODXoQv8jH1WgEk33yHueSU9cBiy2si0t8yUUHB2
 gjtBAm9DTkjVInz3nZ0tUTgDpTc85aRcCKBzsiJQOTslm2cVeYAVdxsWVcpvIdc0Z
 jLQ6LmANdfhzfLJkXf2DL7BC0KLfvJ0tVrxiFIr96IAx+wSU/TLYWVVkEQPqHDdQu
 T8Gn7dYF+vzQq/rkRg==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Received: from drachen.dragon ([88.66.201.230]) by smtp.web.de (mrweb005
 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MI3t5-1tnoF80XuZ-0013Ol; Wed, 09
 Apr 2025 10:47:09 +0200
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: "Paul D. Nelson" <ultrono@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
In-Reply-To: <uxsg7tfrilxpir.fsf@HIDDEN>
References: <uxsg7tfrilxpir.fsf@HIDDEN>
Date: Wed, 09 Apr 2025 10:48:43 +0200
Message-ID: <87h62xk9ec.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:KRsl+hchkUjKr9F10F4slW9B/MfAERgAK5+qaD/bSnpLspNY/yF
 8zZpvkD9bbSc4lhwgA68HIvQ57lY0/ntKEmig98DoUBGvHGne58cU64ojWnOO8XWftv+wn0
 QtgMeTBk28958RA8r83LjVd/NH4Ijya/H4KvNj77Z4UxMbX9auyYHNWH9CHL38kbPVauKJ8
 oPz37wkL9tnpRWlt2otHg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:xij360SZutk=;DH2dJbZhpp6ESUUcJLLPGcVv3wu
 KJyqcus2o/0rME1SVmb7XQ8TXTfkiT9UEUB0jmYBSZiRB6YXhketpoHz+KsamoNJEUgFl28Wa
 Uzm6NFCbyneiEh4YhLCDiGEH3d++arPqvurIiKCCJW2AKiNr9xUMf6lS89tS6J79x0hbrEhOW
 RXdOUxKU8ei8hNip1BccSWLeclCvo21qxLrN+Co0UNLOZDRki0rmIMVT9UHCxeVYlNDO5w4u3
 //+yjhNvNpdfO/Ezokey8zTVAY2097e/NTxu0kgt4T/ALHCTIvv/4riW3CTD2bmbOB8hmRAWc
 XM1Q6v7Uns+oiOBUP2+VvnBaAYAc2Kx9uYFZXXhicJaHzLJBQkNejsf09hcDm7FdGlG+JErO7
 U96JBrB4vYdZljAGuzt4TbbEF6Z5iKRTe6BNvjEj+byceMawqf4XDF3ZsShWCY6Nv/Xp5jne/
 fPKE9OgquiN7IUH5TGAZvVuqrWT3yxm9Am2kXbpCQpIfaeMKY9aA0iw2k5lKJCojZon3YfdvE
 CvsASchpEKRSH6Kd5jPZ4RqG0T7cLA0uNAuyiH8C03iJ2/8WFjSZ3kJQna0UTAmiD6+UjHeS8
 sKaU8/LxDF6uyyYYitlWkG2jKrWlzkNxxMa6dUxNvPZcXs5rzPspgn8A77pM7tIBTUXCVSFAu
 uUwifOJ7+HEkSzRMopBnZYb5dcIxQd/gBAWMYt3CusH7e1FDROrUk6QBp8bKprVQEnLILQITk
 6utC6WqWLOhwSVBjoqE2GI1kArxTvYGwQcPYJ+V28QJcPD5fQJPifJ0/6hxHWOhrlP+D2WP6C
 79+De6eybN8hmiL0I6+Z1ozMKKdfbxjkcfj2NjREnGxVwwjUVMKQUloMylqNy/kis8K/jTrdS
 ih5sm3ooA8b2i52o2rgNdMk0HTtbXDw7mqdVBRHY07KyzOKCsvn5W2px36oQSF+SinVisOqsZ
 4RJ8TaxBONGVkzZn1/HhqGySk7nxHSXPnSU4zJXp3vpu/O4Zq+NvQlB4y8ahura5IAiGidG+X
 /JJ3NQkjztYUz2+U9FLFzWRAa/MEFmS/WCrX63yc6v1JhzGSvECbvwXbS4VxzNaOWPglmDy28
 VlBCG/G4p6qKAlkw20Le2hvP5wSEaRTvg/oTPhl829W4KmIzVRVRj1MXQRRnz5PQZgihP8y48
 qKaNzyniKc7QHaAIrJ2Om5IB2h6QktVKUk53sVcVfb4Mr9xNb2YxpqMK0XZJXhD3Z4V7J74wP
 RvSQJnApuEszpOcWZtZxh3oOVM2h++FB01voo+RontyvzuhYmmFgWuHI3dCqXJ5z29pMllSeL
 ioHO6npK8viE6jIFW1KM+4bka+GUmlOjml9+247u7kYUq245DQRLcNmv9MTuhMoiiCTvhs7uE
 Bu2hVBG40Zr3vSSEjEI5S7my0raojeRPx/MrjoPZ/gnpdQ5hc2Pwyb2HQUdywS1vD0uavdBLs
 6AMNgHdIqfWxHP74sdQM/H1hejoc=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 77580
Cc: 77580 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Hello Paul and Sean,

I want to hint at the Gnu Elpa package "vundo" that is able to
Ediff undo states.

It's ok if you aim at a different interface - but I want to avoid that
at the end you are more or less end developing the same thing again.


Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 9 Apr 2025 05:43:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 09 01:43:51 2025
Received: from localhost ([127.0.0.1]:36814 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2OE3-0004HM-Ko
	for submit <at> debbugs.gnu.org; Wed, 09 Apr 2025 01:43:51 -0400
Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]:42467)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <ultrono@HIDDEN>) id 1u2OE1-0004Gq-2m
 for 77580 <at> debbugs.gnu.org; Wed, 09 Apr 2025 01:43:49 -0400
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5e614da8615so740757a12.1
 for <77580 <at> debbugs.gnu.org>; Tue, 08 Apr 2025 22:43:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744177423; x=1744782223; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from:from:to
 :cc:subject:date:message-id:reply-to;
 bh=nrLl/tWP8wlr16bGMVIcRYOIBAR7M+HgpiknUuccsLU=;
 b=K5V+mHjxWg1Zocsola4lnE3wLy2OeNg3Y/OnOiFUYsvwUDmE1QDSw4prbenZn1/ZqQ
 +JeP4KrldSN6LtmR6qL13zbef6oEOOvldiwVtbcxn1pol9AV764pUmz46IlHBm61VVw3
 W8lV4VvUfgvRh0flnPYA5WMr6g1vU/GEzdEerXY1ghKKKr4k8NBMTOwd/JRQJWs25dAo
 9n8fbyuHoB24hgoig8oFgbn6n/0lwRUO3YYnircYXcNy57xCkOgXSR0aaxlhv8k/M0i6
 Df9pAib6gktxNLC11JdodwlKxHcwm9L3ELRhtnbOknBzfjHXqbWg9xCqaWDUqbvHpLcH
 HKQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744177423; x=1744782223;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=nrLl/tWP8wlr16bGMVIcRYOIBAR7M+HgpiknUuccsLU=;
 b=sfQYDQEfjvHqF9aWfwcOgaKmLuuCxxaPyfk/x/niZVkFXs7pLj/7gR3vMJX+CpTHUn
 kBvESLfb5deCUDS9rXNHrCXa5k04XJoBvvKFQIAlj/LTJ0FXOWvEHyXl2yrOpr3KTx0R
 6HAJS8WV4EDx1HMX2bMHBew1N6k7OoXw7zZNMBIAeGXX9RQyrWKZGz0nvoKVzewcGwrz
 PYsgCts+vahOpJCdwrrayayFdlHALU9Sq4DTSjDcYzkqnTjxn5ckvHRfFi40Ci+1lz7N
 11+vJKHmGN+b6+AWJalbnAjQW/Ub308yE1fs7NkOBsUYYBOTgfDs8lbu9gUfJ3iBhz9c
 zH0w==
X-Gm-Message-State: AOJu0YzDWvoCj5ZRu7FM4ToEP7lszeGMWDvMlp15lhYj+mMiglvmhcXu
 otm6ElWy5LCB4bcIMLaT6UOQ3TVtNjGXE4CDl2VU+NobNnMRdpLL
X-Gm-Gg: ASbGnctseLPg4DlF9mARv2m+OFj69vZFKfDPxXuRVdMga36x6pKEfNbfR4whnE9nzQM
 oQcZ9xix+Gip3byhG+Q5+JsAfiYw7cwX92fCFh5eBEYvtC8J1wqaTEiRmaXCXNuIhlTgAYi5CJB
 6xztjG9umES99cxASkEoywMa81HLKtRNZaklGUKQ/Z2tWvU+tEqa3DD5A6GkGpz9QCJrTesBSmq
 sVAFBpKB2FZ9D00VWz+KFj5jrY716QCWImVa5wrZCeg4e4IOlA9w9miU6IWgIxSUC3LOTH93veZ
 CmicwT6lt7LfaR5T1zwij8bYOweDgsSUCsdVbsDPRo462WInJ8ye2uB66n8icCnxwsIS4ju4pLs
 h/krxw4nsXeZncBiAA6K8
X-Google-Smtp-Source: AGHT+IEXRb4uLZcoZFutB7se6YnXIuCyApIbYSLH7WRNJlea14z1wvw9BQHxTo2lvyXs+IblycdmlQ==
X-Received: by 2002:a05:6402:5c8:b0:5ec:6feb:5742 with SMTP id
 4fb4d7f45d1cf-5f2f76fbcb1mr1379628a12.16.1744177422207; 
 Tue, 08 Apr 2025 22:43:42 -0700 (PDT)
Received: from localhost (0x573d6713.static.cust.fastspeed.dk. [87.61.103.19])
 by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5f2fbbabf86sm256287a12.1.2025.04.08.22.43.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Apr 2025 22:43:41 -0700 (PDT)
From: "Paul D. Nelson" <ultrono@HIDDEN>
To: Sean Whitton <spwhitton@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
In-Reply-To: <87o6x6f4jr.fsf@HIDDEN> (message from Sean
 Whitton on Wed, 09 Apr 2025 10:32:24 +0800)
Date: Wed, 09 Apr 2025 07:43:40 +0200
Message-ID: <uxsg7tcydlhotv.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77580
Cc: 77580 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

> Thanks for clarifying.  So your thought is that the first two bullet
> points in your original mail are covered by the command as-is?

Yes.  A key justification in my view is that these uses compound with
all commands (in Emacs or external) that substantially modify a buffer.

>>> Of your suggestions here, my first thought is that maybe C-x x g could
>>> start operating only on an active region, if there is one.  That seems
>>> like a great new feature.
>>
>> Yes, that sounds excellent.
>
> If you would be interested in working on that, I'd be very happy to
> review and shepherd the change.

Thanks, sounds good (although happy if others want to try, too).  A
related idea is to make vc-diff restrict to hunks in the active region
(in the "without arg" case).  Does that sound to you like a good change?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 9 Apr 2025 02:32:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 08 22:32:37 2025
Received: from localhost ([127.0.0.1]:36413 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2LEy-000151-Nf
	for submit <at> debbugs.gnu.org; Tue, 08 Apr 2025 22:32:37 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:45392)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <spwhitton@HIDDEN>)
 id 1u2LEv-00014h-U6
 for 77580 <at> debbugs.gnu.org; Tue, 08 Apr 2025 22:32:35 -0400
DKIM-Signature: a=rsa-sha256;
 b=Pvz+9ko+D+a5PisU51Eeb7Uv9BK8F5nbbsnm+iFCmf3y0noSdEnx2rklsDXF9RrwqRMOh1CvG4416YzEIyptGrvYjJr643yH7YBbIJ26bmiqXG61ySYJZTbVRzi3K4gdyDYr5wJNBfnxrflvSCzun/7T8U3ALecRqBXmh/dI7aaBxr48NfmfeHpBdBipMN+7dAnQ9eyCJnbYo8ZKAPBwlcVMTTb48ej4tXbJfF9Md0JG42TwVcGTpfsjAstlOgx7LK8yNSw11H7SALxTRmpuEL9Z+Zb/OP+T5p9BBDFn97mP9bqTQ68heUZ5N9UCz7Ei0xntguYMrzHGbRExeb2YwQ==;
 s=purelymail2; d=spwhitton.name; v=1;
 bh=fkEZ8JZwIumnpVdICh81ipZck6YjI5ngFbMG1Pf8lZ4=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=CtW4aSWYrHiiEeXb0UX+DF40r514sXmm5RHfZ9gaLu+0N50VfOvxM6Uq9bOGORxy3W4DjApEBINMH/LeFxJ3v/P23Ag/VRHtUMMouaPhuz8js+rZ8JDkZUQ34g+FspAglxeuYPf3RIv68Pb2uFrGG0YQmQ1C8dHNGF+v0D3KeMlkr/IpNd1QajVyt4b0R7DnW2m0c71BiQ2gE4lFNLQ6v/3IEu/s8Ll1rXlwuicAmWaTHoU4VuzbrHMV5MwVUU+5r0kgh5JpOnVNjZgMxVOHhJe09UXVmnuHZU/aRnleyi1y7eZWWQShT3b7If8f8pzd3LYK3WtCN40G8bzDSBa0Ew==;
 s=purelymail2; d=purelymail.com; v=1;
 bh=fkEZ8JZwIumnpVdICh81ipZck6YjI5ngFbMG1Pf8lZ4=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 77580 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 1489518196; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 09 Apr 2025 02:32:27 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id 7FA807EFB23; Wed, 09 Apr 2025 10:32:24 +0800 (CST)
From: Sean Whitton <spwhitton@HIDDEN>
To: "Paul D. Nelson" <ultrono@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
In-Reply-To: <uxsg7tzfgrglnm.fsf@HIDDEN>
References: <uxsg7tfrilxpir.fsf@HIDDEN> <uxsg7tzfgrglnm.fsf@HIDDEN>
Date: Wed, 09 Apr 2025 10:32:24 +0800
Message-ID: <87o6x6f4jr.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77580
Cc: 77580 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello,

On Tue 08 Apr 2025 at 09:25am +02, Paul D. Nelson wrote:

> To clarify, by "original intent", I was referring to your suggestion of
> detecting automatically how far back to undo.  The C-u spamming is
> relevant in an edge case, not the typical use case for ediff-undo and
> diff-with-undo.  It's analogous to how for regular undo, it's
> occasionally useful to do C-999 C-/.  In my view, the current patch
> meets its primary goals well, but I'd welcome a broader discussion of
> related enhancements or other commands.

Thanks for clarifying.  So your thought is that the first two bullet
points in your original mail are covered by the command as-is?

>> Of your suggestions here, my first thought is that maybe C-x x g could
>> start operating only on an active region, if there is one.  That seems
>> like a great new feature.
>
> Yes, that sounds excellent.

If you would be interested in working on that, I'd be very happy to
review and shepherd the change.

-- 
Sean Whitton




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 8 Apr 2025 14:50:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 08 10:50:58 2025
Received: from localhost ([127.0.0.1]:34514 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2AHx-0003vN-Sw
	for submit <at> debbugs.gnu.org; Tue, 08 Apr 2025 10:50:58 -0400
Received: from mail-yw1-x112a.google.com ([2607:f8b0:4864:20::112a]:54413)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <ultrono@HIDDEN>) id 1u2AHq-0003tx-0z
 for 77580 <at> debbugs.gnu.org; Tue, 08 Apr 2025 10:50:54 -0400
Received: by mail-yw1-x112a.google.com with SMTP id
 00721157ae682-6fedefb1c9cso47262007b3.0
 for <77580 <at> debbugs.gnu.org>; Tue, 08 Apr 2025 07:50:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744123844; x=1744728644; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=E3woNKJNCursM80bNZjCozsaGcYHV/95VDAYKXyYIBs=;
 b=V3yl5UiiwgC9eMP39vbSF6d2n/Ys7AXPagwRjo1HsG928kURxlIXauYqwUEskOvCYi
 FgxK+f6OfweA4q0V/w+jRMGJYeBNl+wjqZ+vo7nZ+rQF/AEUBnD+ydqmOEtjniomAWZC
 Cl+UqcOsrRuct/N7tDmnNUvCQz32Itm/Wz5wPDqSX40yulSPWrh/zgBL8+DfjAOxyZyR
 ZNrBa4NS2dzf+boe72zMGrEwIdN7DgN2eHKztCw5z8Uws2FFk+a7dx6Z5xUe9ayUQgVY
 h2T3hk23V4P4hEy/GGp2j0QN5CyU+llRqqSJrzkdQhuC4qx6LGH6jvalMd+mmBcvBUac
 JYTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744123844; x=1744728644;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=E3woNKJNCursM80bNZjCozsaGcYHV/95VDAYKXyYIBs=;
 b=h/aB924UrPFkihE0LECNbIxXpVvPu1sciewiItYYPw+pTv3a5aMZBo7JbDhKXd1Xwb
 aar6vyf75MDf8iyNaFEkr74IZvm9q/5l2gSalWG099Nm/8gCV8KUX+IQqh6tQPSH1cTw
 FX3j2wzfhXMucpN9xtw5xCBUBVHYwPfqnDDMMUtO9CeNv+LYUg11KDsB2oQdHFuZvatn
 odOmOIoWANObEtdPwIY33+FyOLMvS+zTI8D+v2WeHetsxUyZ6JOXjLBNPeCPmQisUgbk
 cmkEhfMg3wpB0UJr65F/dwcsuXPToAz1OCjao1+NRiQTjrZl8Eq2YjMCmfJAzTisbZh8
 MNiw==
X-Gm-Message-State: AOJu0Ywesw/R4N5Z3VeC/lXd/lafrpapWT/hEpgb6CoDsc4VRrMxs4f7
 Owzb0MFAPqhbAizwBrLz1LfRy2rPp6KRDBnJfxPYlxTGwCLwoulrn+i91bXONlklTjoHEz4HG1t
 5kM/kTxa0W0zm3m3qGD9EkBtFKWZEbKQu
X-Gm-Gg: ASbGnctHpDuZMzgOhU3yLOEQGdomPx28Q6K5lYqNSpCaLVwh9c9vQWKctQFeTZeRHRV
 O/0Yo6jEqcitV3l4rdp2C9Mzs34h8rfdsCW6IPVobjeC/kSTX6UMzhGQ6w2sgWhEooXJreFgKYF
 MFegAD0p4mRyh6Xrcg4g7drsRZ8Q==
X-Google-Smtp-Source: AGHT+IEKZaKWCfd5bYk9AHXaiSmcttpyqDQ8eZ0ytQWxQpX8ehwdiiNvDgxgZYslokon3ykebfBe6r1YwNYKb6xjt3Q=
X-Received: by 2002:a05:690c:3508:b0:6ef:9e74:c09b with SMTP id
 00721157ae682-703e1646ca9mr300336137b3.33.1744123843954; Tue, 08 Apr 2025
 07:50:43 -0700 (PDT)
MIME-Version: 1.0
References: <87mscricb7.fsf@HIDDEN>
 <uxsg7t34eji5rz.fsf@HIDDEN>
 <CAOA-32PyN8NAiKN_3c2PtWUQgq5FxrR6pcU9+PCsnzNkWh9BoA@HIDDEN>
In-Reply-To: <CAOA-32PyN8NAiKN_3c2PtWUQgq5FxrR6pcU9+PCsnzNkWh9BoA@HIDDEN>
From: Paul Nelson <ultrono@HIDDEN>
Date: Tue, 8 Apr 2025 16:50:31 +0200
X-Gm-Features: ATxdqUEPQQR53VtrkNBbZzABQJf92xKmXSnkXRhBfpvjmBKJrILwljl6JPO1gf0
Message-ID: <CAOA-32NgUw2aLZQzVzfuZJCSnfJGkTJzuJjE3FFeWWC-nhYAkg@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
To: Sean Whitton <spwhitton@HIDDEN>
Content-Type: multipart/mixed; boundary="0000000000002a04d20632457adf"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77580
Cc: 77580 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000002a04d20632457adf
Content-Type: multipart/alternative; boundary="0000000000002a04d00632457add"

--0000000000002a04d00632457add
Content-Type: text/plain; charset="UTF-8"

And (with apologies for the spam) a further, hopefully final update, that
works in narrowed buffers.

--0000000000002a04d00632457add
Content-Type: text/html; charset="UTF-8"

<div dir="ltr"><div dir="ltr">And (with apologies for the spam) a further, hopefully final update, that works in narrowed buffers.</div><div dir="ltr"><br></div></div>

--0000000000002a04d00632457add--

--0000000000002a04d20632457adf
Content-Type: application/octet-stream; 
	name="0001-Add-diff-with-undo-and-ediff-undo-commands.patch"
Content-Disposition: attachment; 
	filename="0001-Add-diff-with-undo-and-ediff-undo-commands.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_m98m7xrt0>
X-Attachment-Id: f_m98m7xrt0

RnJvbSA1YjUwZGMwMjliZmJlYTUwOGZlODUxNTQ2OTk4NzlkZDBkYjk5YzUxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIE5lbHNvbiA8dWx0cm9ub0BnbWFpbC5jb20+CkRhdGU6
IFN1biwgNiBBcHIgMjAyNSAxNToxOTo1MCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBkaWZm
LXdpdGgtdW5kbyBhbmQgZWRpZmYtdW5kbyBjb21tYW5kcwoKKiBsaXNwL3ZjL2RpZmYuZWwgKGRp
ZmYtd2l0aC11bmRvKToKKiBsaXNwL3ZjL2VkaWZmLmVsIChlZGlmZi11bmRvKTogTmV3IGNvbW1h
bmRzIHRvIGNvbXBhcmUgY3VycmVudApidWZmZXIgYW5kIGl0cyB1bmRvIHN0YXRlLgoqIGRvYy9l
bWFjcy9maWxlcy50ZXhpIChDb21wYXJpbmcgRmlsZXMpOgoqIGRvYy9taXNjL2VkaWZmLnRleGkg
KE1ham9yIEVudHJ5IFBvaW50cyk6IERvY3VtZW50IHRoZW0uCiogbGlzcC9zaW1wbGUuZWwgKHVu
ZG8tdG8tYnVmZmVyKTogTmV3IGhlbHBlciBmdW5jdGlvbiwgdXNlZCB0bwppbXBsZW1lbnQgdGhl
IGFib3ZlLiAoYnVnIzc3NTgwKQotLS0KIGRvYy9lbWFjcy9maWxlcy50ZXhpIHwgIDQgKysrKwog
ZG9jL21pc2MvZWRpZmYudGV4aSAgfCAgNCArKysrCiBldGMvTkVXUyAgICAgICAgICAgICB8IDEw
ICsrKysrKysrKysKIGxpc3Avc2ltcGxlLmVsICAgICAgIHwgMzMgKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrCiBsaXNwL3ZjL2RpZmYuZWwgICAgICB8IDE1ICsrKysrKysrKysrKysr
KwogbGlzcC92Yy9lZGlmZi5lbCAgICAgfCAxNiArKysrKysrKysrKysrKysrCiA2IGZpbGVzIGNo
YW5nZWQsIDgyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kb2MvZW1hY3MvZmlsZXMudGV4
aSBiL2RvYy9lbWFjcy9maWxlcy50ZXhpCmluZGV4IDYxMjhiZThmMTI4Li44ZGVlODRlZDFmYSAx
MDA2NDQKLS0tIGEvZG9jL2VtYWNzL2ZpbGVzLnRleGkKKysrIGIvZG9jL2VtYWNzL2ZpbGVzLnRl
eGkKQEAgLTE2ODAsNiArMTY4MCwxMCBAQCBDb21wYXJpbmcgRmlsZXMKICAgVGhlIGNvbW1hbmQg
QGtiZHtNLXggZGlmZi1idWZmZXJzfSBjb21wYXJlcyB0aGUgY29udGVudHMgb2YgdHdvCiBzcGVj
aWZpZWQgYnVmZmVycy4KIAorQGZpbmRleCBkaWZmLXdpdGgtdW5kbworICBUaGUgY29tbWFuZCBA
a2Jke00teCBkaWZmLXdpdGgtdW5kb30gY29tcGFyZXMgdGhlIGN1cnJlbnQgYnVmZmVyIHdpdGgK
K2l0cyB1bmRvIHN0YXRlcy4KKwogQGZpbmRleCBjb21wYXJlLXdpbmRvd3MKICAgVGhlIGNvbW1h
bmQgQGtiZHtNLXggY29tcGFyZS13aW5kb3dzfSBjb21wYXJlcyB0aGUgdGV4dCBpbiB0aGUKIGN1
cnJlbnQgd2luZG93IHdpdGggdGhhdCBpbiB0aGUgd2luZG93IHRoYXQgd2FzIHRoZSBzZWxlY3Rl
ZCB3aW5kb3cKZGlmZiAtLWdpdCBhL2RvYy9taXNjL2VkaWZmLnRleGkgYi9kb2MvbWlzYy9lZGlm
Zi50ZXhpCmluZGV4IDczZjc1MWYzYTRiLi4wODBkN2UwYzQzMiAxMDA2NDQKLS0tIGEvZG9jL21p
c2MvZWRpZmYudGV4aQorKysgYi9kb2MvbWlzYy9lZGlmZi50ZXhpCkBAIC0xNjUsNiArMTY1LDEw
IEBAIE1ham9yIEVudHJ5IFBvaW50cwogQ29tcGFyZSB0aGUgYnVmZmVyIHdpdGggaXRzIGZpbGUg
b24gZGlzay4gIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgYXMgYQogc2FmZSB2ZXJzaW9uIG9m
IEBjb2Rle3JldmVydC1idWZmZXJ9LgogCitAaXRlbSBlZGlmZi11bmRvCitAZmluZGV4IGVkaWZm
LXVuZG8KK0NvbXBhcmUgdGhlIGJ1ZmZlciBvciByZWdpb24gd2l0aCBpdHMgdW5kbyBzdGF0ZXMu
CisKIEBpdGVtIGVkaWZmLWJ1ZmZlcnMKIEBmaW5kZXggZWRpZmYtYnVmZmVycwogQ29tcGFyZSB0
d28gYnVmZmVycy4KZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MKaW5kZXggMzVlNmVk
Y2Q3MTIuLmY3YmVkOTlhZjhmIDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9ldGMvTkVXUwpA
QCAtMTIwNyw2ICsxMjA3LDEyIEBAIG92ZXJsYXAuCiAKICoqKiAnZGlmZi1hcHBseS1odW5rJyBu
b3cgc3VwcG9ydHMgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGZpbGVzLgogCisqKiogTmV3IGNvbW1h
bmQgJ2RpZmYtd2l0aC11bmRvJyB0byBjb21wYXJlIGJ1ZmZlciB3aXRoIGl0cyB1bmRvIHN0YXRl
cy4KK1RoaXMgY29tbWFuZCBjb21wYXJlcyB0aGUgY3VycmVudCBidWZmZXIgYW5kIGhvdyBpdCB3
b3VsZCBsb29rIGlmIHVuZG8KK3dlcmUgcGVyZm9ybWVkLiAgV2l0aCBhIHByZWZpeCBhcmd1bWVu
dCwgaXQgY29uc2lkZXJzIHRoYXQgbWFueSB1bmRvCitvcGVyYXRpb25zLiAgV2l0aCBhbiBhY3Rp
dmUgcmVnaW9uLCBpdCByZXN0cmljdHMgaXRzZWxmIHRvIGNoYW5nZXMgaW4KK3RoYXQgcmVnaW9u
LgorCiAtLS0KICoqKiAndmMtdmVyc2lvbi1kaWZmJyBhbmQgJ3ZjLXJvb3QtdmVyc2lvbi1kaWZm
JyBjaGFuZ2VkIGRlZmF1bHQgZm9yIFJFVjEuCiBUaGV5IHN1Z2dlc3QgdGhlIHByZXZpb3VzIHJl
dmlzaW9uIGFzIHRoZSBkZWZhdWx0IGZvciBSRVYxLCBub3QgdGhlIGxhc3QKQEAgLTEyNTYsNiAr
MTI2MiwxMCBAQCBhbmQgY29udHJvbCB3aW5kb3dzIGNhbiBiZSBsZWZ0IHVuZGlzcGxheWVkIGFu
ZCB0aGUgY29ycmVzcG9uZGluZwogdmFyaWFibGUgc2V0IHRvIG5pbC4gIFRoaXMgY2hhbmdlIGVu
YWJsZXMgY3VzdG9tIGxheW91dHMgd2l0aG91dAogYSBjb250cm9sIHBhbmVsIHdpbmRvdy4KIAor
KioqIE5ldyBjb21tYW5kICdlZGlmZi11bmRvJyB0byBjb21wYXJlIGJ1ZmZlciB3aXRoIGl0cyB1
bmRvIHN0YXRlcy4KK1RoaXMgY29tbWFuZCBjb21wYXJlcyB0aGUgY3VycmVudCBidWZmZXIgYW5k
IGhvdyBpdCB3b3VsZCBsb29rIGlmIHVuZG8KK3dlcmUgcGVyZm9ybWVkIChzZWUgc2ltaWxhciBl
bnRyeSBmb3IgJ2RpZmYtd2l0aC11bmRvJykuCisKICoqIERpcmVkCiAKICsrKwpkaWZmIC0tZ2l0
IGEvbGlzcC9zaW1wbGUuZWwgYi9saXNwL3NpbXBsZS5lbAppbmRleCA3MDM3MTU4ZGY4ZC4uNjg0
ZTRiODgzY2YgMTAwNjQ0Ci0tLSBhL2xpc3Avc2ltcGxlLmVsCisrKyBiL2xpc3Avc2ltcGxlLmVs
CkBAIC00MjU0LDYgKzQyNTQsMzkgQEAgdW5kby1vdXRlci1saW1pdC10cnVuY2F0ZQogCQkgICAg
IDp3YXJuaW5nKQogICAgIChzZXRxIGJ1ZmZlci11bmRvLWxpc3QgbmlsKQogICAgIHQpKQorCiso
ZGVmdW4gdW5kby10by1idWZmZXIgKHRhcmdldC1idWZmZXIgc291cmNlLWJ1ZmZlciBhcmcgJm9w
dGlvbmFsIGJlZyBlbmQpCisgICJBcHBseSBBUkcgdW5kbyBvcGVyYXRpb25zIGZyb20gU09VUkNF
LUJVRkZFUiB0byBUQVJHRVQtQlVGRkVSLgorVEFSR0VULUJVRkZFUiBpcyBzZXQgdG8gdGhlIHVu
ZG9uZSBzdGF0ZSBvZiBTT1VSQ0UtQlVGRkVSLgorSWYgQkVHIGFuZCBFTkQgYXJlIG5vbi1uaWws
IHJlc3RyaWN0IHVuZG8gb3BlcmF0aW9ucyB0byB0aGF0IHJlZ2lvbi4KKworQVJHIGlzIHRoZSBu
dW1iZXIgb2YgdW5kbyBvcGVyYXRpb25zIHRvIGFwcGx5IChtdXN0IGJlIG5vbi1uZWdhdGl2ZSku
CitUaGUgbWFqb3IgbW9kZSBvZiBUQVJHRVQtQlVGRkVSIGlzIHNldCB0byBtYXRjaCBTT1VSQ0Ut
QlVGRkVSLiIKKyAgKHdoZW4gKG1pbnVzcCBhcmcpCisgICAgKGVycm9yICJOZWdhdGl2ZSBhcmd1
bWVudCAlZCIgYXJnKSkKKyAgKHdpdGgtY3VycmVudC1idWZmZXIgdGFyZ2V0LWJ1ZmZlcgorICAg
IChlcmFzZS1idWZmZXIpCisgICAgKGxldCAoc3JjLW1pbiBzcmMtbWF4KQorICAgICAgKHdpdGgt
Y3VycmVudC1idWZmZXIgc291cmNlLWJ1ZmZlcgorICAgICAgICAod2hlbiAoYnVmZmVyLW5hcnJv
d2VkLXApCisgICAgICAgICAgKHNldHEgc3JjLW1pbiAocG9pbnQtbWluKQorICAgICAgICAgICAg
ICAgIHNyYy1tYXggKHBvaW50LW1heCkpKQorICAgICAgICAoc2F2ZS1yZXN0cmljdGlvbgorICAg
ICAgICAgICh3aWRlbikKKyAgICAgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciB0YXJnZXQtYnVm
ZmVyCisgICAgICAgICAgICAoaW5zZXJ0LWJ1ZmZlci1zdWJzdHJpbmctbm8tcHJvcGVydGllcyBz
b3VyY2UtYnVmZmVyKSkpKQorICAgICAgKHdoZW4gc3JjLW1pbgorICAgICAgICAobmFycm93LXRv
LXJlZ2lvbiBzcmMtbWluIHNyYy1tYXgpKSkKKyAgICAoc2V0cSBidWZmZXItdW5kby1saXN0Cisg
ICAgICAgICAgKHVuZG8tY29weS1saXN0IChidWZmZXItbG9jYWwtdmFsdWUgJ2J1ZmZlci11bmRv
LWxpc3Qgc291cmNlLWJ1ZmZlcikpKQorICAgIChmdW5jYWxsIChidWZmZXItbG9jYWwtdmFsdWUg
J21ham9yLW1vZGUgc291cmNlLWJ1ZmZlcikpCisgICAgKGlmIChhbmQgYmVnIGVuZCkKKyAgICAg
ICAgKGxldCAoKHVuZG8taW4tcmVnaW9uIHQpCisgICAgICAgICAgICAgIChsYXN0LWNvbW1hbmQg
bmlsKQorICAgICAgICAgICAgICAodGhpcy1jb21tYW5kICd1bmRvKSkKKyAgICAgICAgICAodW5k
by1zdGFydCBiZWcgZW5kKQorICAgICAgICAgICh1bmRvLW1vcmUgKDErIGFyZykpKQorICAgICAg
KHVuZG8gYXJnKSkpKQogDAogOzs7OyBTaGVsbCBjb21tYW5kcwogCmRpZmYgLS1naXQgYS9saXNw
L3ZjL2RpZmYuZWwgYi9saXNwL3ZjL2RpZmYuZWwKaW5kZXggYzhhMWI3YzBlZmEuLmQ3MjQ3OTU5
NDA3IDEwMDY0NAotLS0gYS9saXNwL3ZjL2RpZmYuZWwKKysrIGIvbGlzcC92Yy9kaWZmLmVsCkBA
IC0yOTUsNiArMjk1LDIxIEBAIGRpZmYtYnVmZmVycwogICAgICAobGlzdCBvbGRiIG5ld2IgKGRp
ZmYtc3dpdGNoZXMpKSkpCiAgIChkaWZmIChnZXQtYnVmZmVyIG9sZCkgKGdldC1idWZmZXIgbmV3
KSBzd2l0Y2hlcyBuby1hc3luYykpCiAKKzs7OyMjI2F1dG9sb2FkCisoZGVmdW4gZGlmZi13aXRo
LXVuZG8gKGFyZykKKyAgIlZpZXcgZGlmZmVyZW5jZXMgYmV0d2VlbiBjdXJyZW50IGJ1ZmZlciBh
bmQgaXRzIHVuZG8gc3RhdGUKK1dpdGggcHJlZml4IEFSRywgY29uc2lkZXIgdGhhdCBtYW55IHVu
ZG8gb3BlcmF0aW9ucy4KK1dpdGggYWN0aXZlIHJlZ2lvbiwgcmVzdHJpY3QgdG8gb3BlcmF0aW9u
cyBpbiB0aGUgcmVnaW9uLgorCitUaGlzIHJlcXVpcmVzIHRoZSBleHRlcm5hbCBwcm9ncmFtIGBk
aWZmJyB0byBiZSBpbiB5b3VyIGBleGVjLXBhdGgnLiIKKyAgKGludGVyYWN0aXZlICJwIikKKyAg
KGxldCogKChiZWcgKHVzZS1yZWdpb24tYmVnaW5uaW5nKSkKKyAgICAgICAgIChlbmQgKHVzZS1y
ZWdpb24tZW5kKSkKKyAgICAgICAgIChvcmlnLWJ1ZiAoY3VycmVudC1idWZmZXIpKSkKKyAgICAo
d2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgKHVuZG8tdG8tYnVmZmVyIChjdXJyZW50LWJ1ZmZlcikg
b3JpZy1idWYgYXJnIGJlZyBlbmQpCisgICAgICAoZGlmZi1idWZmZXJzIChjdXJyZW50LWJ1ZmZl
cikgb3JpZy1idWYgbmlsICdub2FzeW5jKSkpKQorCiAocHJvdmlkZSAnZGlmZikKIAogOzs7IGRp
ZmYuZWwgZW5kcyBoZXJlCmRpZmYgLS1naXQgYS9saXNwL3ZjL2VkaWZmLmVsIGIvbGlzcC92Yy9l
ZGlmZi5lbAppbmRleCBiYzg5YjIwMjVmZi4uNDM2YjQxODAxZDggMTAwNjQ0Ci0tLSBhL2xpc3Av
dmMvZWRpZmYuZWwKKysrIGIvbGlzcC92Yy9lZGlmZi5lbApAQCAtNDAwLDYgKzQwMCwyMiBAQCBl
ZGlmZi1jdXJyZW50LWZpbGUKICAgICAgIChmdW5jYWxsIGN1cnJlbnQtbWFqb3IpKQogICAgIChl
ZGlmZi1idWZmZXJzIHJldmVydC1idWYgKGN1cnJlbnQtYnVmZmVyKSBzdGFydHVwLWhvb2tzKSkp
CiAKKzs7OyMjI2F1dG9sb2FkCisoZGVmdW4gZWRpZmYtdW5kbyAoYXJnICZvcHRpb25hbCBzdGFy
dHVwLWhvb2tzKQorICAiUnVuIEVkaWZmIG9uIGN1cnJlbnQgYnVmZmVyIGFuZCBpdHMgdW5kbyBz
dGF0ZXMuCitDb21wYXJlIGJ1ZmZlciB0byBob3cgaXQgd291bGQgYmUgaWYgdW5kbyB3ZXJlIHBl
cmZvcm1lZC4KK1dpdGggcHJlZml4IEFSRywgY29uc2lkZXIgdGhhdCBtYW55IHVuZG8gb3BlcmF0
aW9ucy4KK1dpdGggYWN0aXZlIHJlZ2lvbiwgcmVzdHJpY3QgdG8gb3BlcmF0aW9ucyBpbiB0aGUg
cmVnaW9uLgorCitOb24taW50ZXJhY3RpdmVseSwgU1RBUlRVUC1IT09LUyBpcyBhIGxpc3Qgb2Yg
ZnVuY3Rpb25zIHRoYXQgRW1hY3MgY2FsbHMKK3dpdGhvdXQgYXJndW1lbnRzIGFmdGVyIHNldHRp
bmcgdXAgdGhlIEVkaWZmIGJ1ZmZlcnMuIgorICAoaW50ZXJhY3RpdmUgInAiKQorICAobGV0KiAo
KGJlZyAodXNlLXJlZ2lvbi1iZWdpbm5pbmcpKQorICAgICAgICAgKGVuZCAodXNlLXJlZ2lvbi1l
bmQpKQorICAgICAgICAgKHVuZG8tYnVmLW5hbWUgKGdlbmVyYXRlLW5ldy1idWZmZXItbmFtZSAi
KmVkaWZmLXVuZG8qIikpCisgICAgICAgICAodW5kby1idWYgKGdldC1idWZmZXItY3JlYXRlIHVu
ZG8tYnVmLW5hbWUpKSkKKyAgICAodW5kby10by1idWZmZXIgdW5kby1idWYgKGN1cnJlbnQtYnVm
ZmVyKSBhcmcgYmVnIGVuZCkKKyAgICAoZWRpZmYtYnVmZmVycyB1bmRvLWJ1ZiAoY3VycmVudC1i
dWZmZXIpIHN0YXJ0dXAtaG9va3MpKSkKIAogOzs7IyMjYXV0b2xvYWQKIChkZWZ1biBlZGlmZi1i
YWNrdXAgKGZpbGUpCi0tIAoyLjM5LjMgKEFwcGxlIEdpdC0xNDUpCgo=
--0000000000002a04d20632457adf--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 8 Apr 2025 07:25:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 08 03:25:31 2025
Received: from localhost ([127.0.0.1]:58644 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u23Ks-0008Ns-JE
	for submit <at> debbugs.gnu.org; Tue, 08 Apr 2025 03:25:31 -0400
Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]:52690)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <ultrono@HIDDEN>) id 1u23Kp-0008NG-6J
 for 77580 <at> debbugs.gnu.org; Tue, 08 Apr 2025 03:25:27 -0400
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5e5e8274a74so8452999a12.1
 for <77580 <at> debbugs.gnu.org>; Tue, 08 Apr 2025 00:25:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744097120; x=1744701920; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from:from:to
 :cc:subject:date:message-id:reply-to;
 bh=sn7tToqUUM8gPCKR6xe7X7R8Xq3ZDYGERyfzRmXeRVE=;
 b=US5MaFqE3Z0QsEnnKTV5gXLjvh5V7VkPhx76UV/6/CSwCBpzODvRzxioG/stuLYQO1
 bIB73pYBYCBnbUrLEBNCqdt7nmwbfPUJO1pBjl6CBP3W52eYzYgLepCdYTbcmfB0Cyxs
 n0KjWCRo/Xs7XDE+02489B1Y9SxynwJDx3l7pV2Kp1aPWxeByBEqDWHtBQvcjs/r9vMp
 4I+v/13xLU3QXgs9INsmAgDt09/8YdXsKVy4onhdWU2DHc+uQ4Zp/M0BJfycNLar/+T5
 AWulgxta+pgBPIPsVvmYMDncJeSMkOc1L+tRnvSGMT57CD81+pAC9Wxvw29qUfENzTJM
 iPIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744097120; x=1744701920;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=sn7tToqUUM8gPCKR6xe7X7R8Xq3ZDYGERyfzRmXeRVE=;
 b=KiQOvgSal/Pq5Pata9V4EfofV+4FyWWuLdof6VcHqrGQlKdxxi4kjFK6Z4Ix96aXOi
 OwP0zxh3KVaCEHSDyp96AUynv8+vn9kxlI1cIE87kIOLkH1GXcuSQC27KMkIXWbIHsqk
 BnhGc4GE2EFCkSSdvWQ19G0dV4Qjplq/y81/wh9t1+X5oItgINVe4/YM0kKsTE5TayQZ
 QSGQYKDjL4zohh7ufjrKmy4PdYij5+6C+VmhlfBunQZ/FvhYbzVHH+RchKZD+DjVsn5w
 ewcLgpL2taYPq0KwYNi0qF1KdnP0C5ln0/Ap2b2mutlQWC2LewcAgNsq1Yxpi7dA71h0
 rRkA==
X-Gm-Message-State: AOJu0YxIskzDxgw/rRre5jhZ0bUYZJHrPdcSGCVN5+74pslv9wBR7m5i
 VgP2JZeVgKH1qG8hDstwsUoCgyZRGl4HQ8nXjeYuXnA+3ZbULzGjQfI2dk3L
X-Gm-Gg: ASbGncsf7fA+OKf1uzeDlIBHqCtJxatvUnXg9OevKKDWFRkEUjZE/usP0Yq2kYa2VSX
 hVmNkR7xZw4R/230Qcec5MD76ZiEbS5UHTGa9+PT+IYYAUVXw88kYijDf/OZqCqB8pnUONQZDzc
 3qQblNduGPQX2Drzt6JGv5jSctFDjIXhrLBKLr6UVjfBURvKL+2OMiLh7IqWOc8OrNKnleLmdrA
 c2/3uw9/Ar6Viuvm/Dw2iqPnew9ApfIQzlgV1WH0q4A+UMxS4u1d1Ef1AS3exxsgriQsEm4oFKt
 /7SM33csG30bVUMTZZ/jkGfZ/Q5TM0F5/DnuLYTOG0uS28u0YV1eLnN2Q1UY/wvKsc4d+bqsAZZ
 MrF8KhXfsbA==
X-Google-Smtp-Source: AGHT+IEHGCWCQdAf5NFvcWhq1AZ5tCq+9+Vx21NXjRJ2OQbs1biviwQ4vylxcgsX2FmZ6B89JjVdhQ==
X-Received: by 2002:a17:907:3f8d:b0:ac6:fc40:c996 with SMTP id
 a640c23a62f3a-ac7d17b6e01mr1452637266b.23.1744097119883; 
 Tue, 08 Apr 2025 00:25:19 -0700 (PDT)
Received: from localhost (0x573d6713.static.cust.fastspeed.dk. [87.61.103.19])
 by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac7c013f646sm854731366b.120.2025.04.08.00.25.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Apr 2025 00:25:19 -0700 (PDT)
From: "Paul D. Nelson" <ultrono@HIDDEN>
To: Sean Whitton <spwhitton@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
In-Reply-To: <87tt6zgms6.fsf@HIDDEN> (message from Sean
 Whitton on Tue, 08 Apr 2025 15:00:57 +0800)
Date: Tue, 08 Apr 2025 09:25:17 +0200
Message-ID: <uxsg7tzfgrglnm.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77580
Cc: 77580 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Sean,

>>>> I hadn't thought about automatic detection along the lines that you
>>>> suggest.  I think I'm happy to leave that for now, either to a
>>>> refinement of this command or a future one.
>>>
>>> To be honest, I don't like adding a command where the normal way to use
>>> it is to spam C-u.  The normal way to use it should be easy to access.
>>> So let's try to think of something better.
>>
>> Agreed.
>>
>> Thinking further, this scenario seems niche rather than normal.  The
>> original intent might be met more directly by some new command such as
>> revert-buffer-in-region, diff-buffer-with-file-in-region,
>> vc-diff-in-region, diff-backup-in-region, (...).
>>
>> The situation resembles that of the undo command itself.  Typically, we
>> should either undo small amounts, or resort to one of the structural
>> undo-like commands tied to file or VC status.  Only rarely should we
>> need to do something like C-99 C-/ (possibly in a region), but that
>> option remains a useful fallback.
>
> So just to confirm, we both think that it would be good to come up with
> a different command to satisfy the original use cases, because doing it
> with ediff-undo and diff-with-undo requires spamming C-u, and that's
> unergonomic?  (I ask because you posted an updated patch after writing
> the above).

To clarify, by "original intent", I was referring to your suggestion of
detecting automatically how far back to undo.  The C-u spamming is
relevant in an edge case, not the typical use case for ediff-undo and
diff-with-undo.  It's analogous to how for regular undo, it's
occasionally useful to do C-999 C-/.  In my view, the current patch
meets its primary goals well, but I'd welcome a broader discussion of
related enhancements or other commands.

> Of your suggestions here, my first thought is that maybe C-x x g could
> start operating only on an active region, if there is one.  That seems
> like a great new feature.

Yes, that sounds excellent.

Paul




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 8 Apr 2025 07:01:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 08 03:01:13 2025
Received: from localhost ([127.0.0.1]:58576 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u22xN-0006SR-3k
	for submit <at> debbugs.gnu.org; Tue, 08 Apr 2025 03:01:13 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:57062)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <spwhitton@HIDDEN>)
 id 1u22xJ-0006Rq-OQ
 for 77580 <at> debbugs.gnu.org; Tue, 08 Apr 2025 03:01:11 -0400
DKIM-Signature: a=rsa-sha256;
 b=5odjWjfqSB71HPkn5zKkYXYpvq8sRsTD+LilLh4fkWt160gigObxnfJtQbMJ9pHz1tFf2z2tdc3PC+WU8HbBYIFI/LcE6yidwU4Ljy2PYvXPecxJ7hQCE3u75tg3+2gQ5vnsPiICiTMZE+wnn2zMzBUP9m7WTP/C09uOqOeQW3qL887AyjaVkghP3lWirovOVreG4WDBQOI3VAkeHfqXsUFOnVY6muAYLQqrAicgyBGZJrurlL6Lj6+kS5l3cMjBEwHH9j8dcLAoyJm0XjGzxsCP88mXHQmC/bjEG1i241k1dFQk+gU6Fdm7/qM8tKyC3iHOBmRTadZhb9eY9wskjA==;
 s=purelymail1; d=spwhitton.name; v=1;
 bh=k1P28M4b8GZ2WvkUkPqRdllsjn+DWof0gXIxtDAlbUk=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=bPSjv+R+Pcs3XT9tVOsFaQ7u0wVP0OMaWSvZfkv0Qdt65efdWbouR2I3Ri3IYO2MkCQcKJNrS6G99iYtskBXWpV4FEsndU60DRUHvZh9gSTCS2+SpLbIIMmP32fFC2jbXOwiUjCc6hBEKwOisctB9jmi/efiXD4X6Fk4AU4QIlkOMWhG3HpKbghdXJlh9ZV0rJwhMNA6+LjG1BGgbK9n0RDb3sqCMFGvR+tiiZ4d5B0gSIvxOaNwsApr9xjUrSNoxRToB3hMaY+gUXKRkBsJLOzWGrgOr7UX4yNayG2WU0iP2kpMmKwLuL4i0gyRXbH2flSXRpqWJLQMwaoEPNVLgw==;
 s=purelymail1; d=purelymail.com; v=1;
 bh=k1P28M4b8GZ2WvkUkPqRdllsjn+DWof0gXIxtDAlbUk=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 77580 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 386298680; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 08 Apr 2025 07:01:00 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id 5407F7E7E92; Tue, 08 Apr 2025 15:00:57 +0800 (CST)
From: Sean Whitton <spwhitton@HIDDEN>
To: "Paul D. Nelson" <ultrono@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
In-Reply-To: <uxsg7t34eji5rz.fsf@HIDDEN>
References: <uxsg7tfrilxpir.fsf@HIDDEN> <uxsg7t34eji5rz.fsf@HIDDEN>
Date: Tue, 08 Apr 2025 15:00:57 +0800
Message-ID: <87tt6zgms6.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77580
Cc: 77580 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello,

On Tue 08 Apr 2025 at 07:25am +02, Paul D. Nelson wrote:

> As I see it, the advantages of "ediff-undo" are internal consistency
> with user-facing ediff-* commands, and brevity (for the command name,
> and buffer names like "*ediff-undo*").  The disadvantage is that it is
> not quite parallel to "diff-with-undo".  On the other hand, the two sets
> of commands are already not particularly consistent in their naming.

Yes, fine, ediff-undo and diff-with-undo it is.

> Let me know if you think this feature seems worth including.  I lean
> towards "no" out of a desire to keep the new commands consistent with
> "undo" itself, which does not accept a negative argument.

Yes, I think that we should leave this out.

>>> I hadn't thought about automatic detection along the lines that you
>>> suggest.  I think I'm happy to leave that for now, either to a
>>> refinement of this command or a future one.
>>
>> To be honest, I don't like adding a command where the normal way to use
>> it is to spam C-u.  The normal way to use it should be easy to access.
>> So let's try to think of something better.
>
> Agreed.
>
> Thinking further, this scenario seems niche rather than normal.  The
> original intent might be met more directly by some new command such as
> revert-buffer-in-region, diff-buffer-with-file-in-region,
> vc-diff-in-region, diff-backup-in-region, (...).
>
> The situation resembles that of the undo command itself.  Typically, we
> should either undo small amounts, or resort to one of the structural
> undo-like commands tied to file or VC status.  Only rarely should we
> need to do something like C-99 C-/ (possibly in a region), but that
> option remains a useful fallback.

So just to confirm, we both think that it would be good to come up with
a different command to satisfy the original use cases, because doing it
with ediff-undo and diff-with-undo requires spamming C-u, and that's
unergonomic?  (I ask because you posted an updated patch after writing
the above).

Of your suggestions here, my first thought is that maybe C-x x g could
start operating only on an active region, if there is one.  That seems
like a great new feature.

-- 
Sean Whitton




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 8 Apr 2025 05:28:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 08 01:28:27 2025
Received: from localhost ([127.0.0.1]:58274 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u21Vb-0007iV-9w
	for submit <at> debbugs.gnu.org; Tue, 08 Apr 2025 01:28:27 -0400
Received: from mail-yw1-x112d.google.com ([2607:f8b0:4864:20::112d]:47522)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <ultrono@HIDDEN>) id 1u21VX-0007hv-NO
 for 77580 <at> debbugs.gnu.org; Tue, 08 Apr 2025 01:28:24 -0400
Received: by mail-yw1-x112d.google.com with SMTP id
 00721157ae682-6f666c94285so56311117b3.3
 for <77580 <at> debbugs.gnu.org>; Mon, 07 Apr 2025 22:28:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744090097; x=1744694897; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=dyw8UrWMalVexYCwsPVo85Sqa5o0WniadOfISww68f8=;
 b=UgHZrOvXzlrlt4TvSCbYLI91kTbTdSJOMdAsiCN19ecJGgdSsD70jvzvnrdcj371Yj
 Qu6PhvRasGU2lDrRygSoZgPvjT4P1Yv96nisN1FviFVA/g7cvwKAUHwbO1f5WHYvvWx2
 /hA3LNPNQGa+KMSANSWckT59M+Uav7klQgtZbm3oOXGryhInzN8Iekfye5zeNJCR4Ak8
 S3xw6m0NAAHlyd0ljC7apAt0VQPlx5DLGGa5RfTZswBZZsr4rYgvceFsTIDGjUDRZ6d1
 dNxixHAYmILjkA72IosJCIVvCY+MjENVdIaYV8uc98G74no/Ov59ZNfRMr3HDc58/eaI
 E72A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744090097; x=1744694897;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=dyw8UrWMalVexYCwsPVo85Sqa5o0WniadOfISww68f8=;
 b=V2m3La1NrAebvvKalcZEMDN3PZlW1bkru8rMFa9TJx/FbOXvlZr2yhXCckwQ77Cfb0
 7x0JV7QtwlGop9sirykSiSO++VItYLzVPiNHMr1ns0tgi776BEZBEAELe1pZKe5kEiB4
 r+u3I4iGu8verdU0dBXMFIZ90JGVSOLXFkgUcoltAxmovs6e0DZdbw/Hiq7ZvLnM/Fsl
 my5tmUN8yV18Y8Qf3/swLXO+h9AS7uuhdEbhma8CcYSnykGoqZI4y/ojPx2S4jl/8WJ4
 /noJkB1Mfk90i6tEDfsIvwnG6dU7lbjVLtf9Vm7Z2YfV4iw5LlTTsiiN4U4pp7Am7Fux
 9Azg==
X-Gm-Message-State: AOJu0Yz9SFVhQ7E98SsOXwzQJErfMLctacM9n+wGrVAF7ZWyiehKEVlh
 OJgaQud44J6659+9ldIRqTou1GzmYlKdNHBI44zh4U9az8hyb7iWvdjKZvU5uUHNMbdl+N5QHSf
 /GQouPUJIXd1xyPoUPRLLEhyjvec=
X-Gm-Gg: ASbGncsocqqjXXeVsDSWmsjUY5dmBnatZPOWuSe27YrePpE7xqLpHscofCUaWK3VIhL
 ddrLdoOomnMQ5NH+EMO6IfTgepcqoBrSjDQ8diclVFRpO6TFWG8rA1NvTti1QddyvWRKZP7Mw6E
 UYHfY7bvClTs5h/wIZb/28DBCJ
X-Google-Smtp-Source: AGHT+IGdOU8Is3Ur5K+nd2KhoOic0Elscv9EocBJX64jm1ps0VZC1KiouT2htsPrEqP92RDyuUTBILqA0yv5saA18vs=
X-Received: by 2002:a05:690c:6483:b0:6fd:25dc:effe with SMTP id
 00721157ae682-703f4291fe0mr199794457b3.25.1744090097367; Mon, 07 Apr 2025
 22:28:17 -0700 (PDT)
MIME-Version: 1.0
References: <87mscricb7.fsf@HIDDEN>
 <uxsg7t34eji5rz.fsf@HIDDEN>
In-Reply-To: <uxsg7t34eji5rz.fsf@HIDDEN>
From: Paul Nelson <ultrono@HIDDEN>
Date: Tue, 8 Apr 2025 07:28:05 +0200
X-Gm-Features: ATxdqUGNimGUhRSKTWt0y7sro-11Grt_ZG7O6N2n5U3id7UOGlDcj_lTcmRb_6M
Message-ID: <CAOA-32PyN8NAiKN_3c2PtWUQgq5FxrR6pcU9+PCsnzNkWh9BoA@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
To: Sean Whitton <spwhitton@HIDDEN>
Content-Type: multipart/mixed; boundary="000000000000b68c6706323d9ee7"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77580
Cc: 77580 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000b68c6706323d9ee7
Content-Type: multipart/alternative; boundary="000000000000b68c6706323d9ee5"

--000000000000b68c6706323d9ee5
Content-Type: text/plain; charset="UTF-8"

Attaching the updated patch.

--000000000000b68c6706323d9ee5
Content-Type: text/html; charset="UTF-8"

<div dir="ltr">Attaching the updated patch.<div><br></div></div>

--000000000000b68c6706323d9ee5--

--000000000000b68c6706323d9ee7
Content-Type: application/octet-stream; 
	name="0001-Add-diff-with-undo-and-ediff-undo-commands.patch"
Content-Disposition: attachment; 
	filename="0001-Add-diff-with-undo-and-ediff-undo-commands.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_m9826eh90>
X-Attachment-Id: f_m9826eh90

RnJvbSA3MmY4ODQxMGM2YjYyYTYzYzU2NjcwYmNjMzA1OTY3MzhiMTlmY2ViIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIE5lbHNvbiA8dWx0cm9ub0BnbWFpbC5jb20+CkRhdGU6
IFN1biwgNiBBcHIgMjAyNSAxNToxOTo1MCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBkaWZm
LXdpdGgtdW5kbyBhbmQgZWRpZmYtdW5kbyBjb21tYW5kcwoKKiBsaXNwL3ZjL2RpZmYuZWwgKGRp
ZmYtd2l0aC11bmRvKToKKiBsaXNwL3ZjL2VkaWZmLmVsIChlZGlmZi11bmRvKTogTmV3IGNvbW1h
bmRzIHRvIGNvbXBhcmUgY3VycmVudApidWZmZXIgYW5kIGl0cyB1bmRvIHN0YXRlLgoqIGRvYy9l
bWFjcy9maWxlcy50ZXhpIChDb21wYXJpbmcgRmlsZXMpOgoqIGRvYy9taXNjL2VkaWZmLnRleGkg
KE1ham9yIEVudHJ5IFBvaW50cyk6IERvY3VtZW50IHRoZW0uCiogbGlzcC9zaW1wbGUuZWwgKHVu
ZG8tdG8tYnVmZmVyKTogTmV3IGhlbHBlciBmdW5jdGlvbiwgdXNlZCB0bwppbXBsZW1lbnQgdGhl
IGFib3ZlLiAoYnVnIzc3NTgwKQotLS0KIGRvYy9lbWFjcy9maWxlcy50ZXhpIHwgIDQgKysrKwog
ZG9jL21pc2MvZWRpZmYudGV4aSAgfCAgNCArKysrCiBldGMvTkVXUyAgICAgICAgICAgICB8IDEw
ICsrKysrKysrKysKIGxpc3Avc2ltcGxlLmVsICAgICAgIHwgMjMgKysrKysrKysrKysrKysrKysr
KysrKysKIGxpc3AvdmMvZGlmZi5lbCAgICAgIHwgMTUgKysrKysrKysrKysrKysrCiBsaXNwL3Zj
L2VkaWZmLmVsICAgICB8IDE2ICsrKysrKysrKysrKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgNzIg
aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9lbWFjcy9maWxlcy50ZXhpIGIvZG9jL2Vt
YWNzL2ZpbGVzLnRleGkKaW5kZXggNjEyOGJlOGYxMjguLjhkZWU4NGVkMWZhIDEwMDY0NAotLS0g
YS9kb2MvZW1hY3MvZmlsZXMudGV4aQorKysgYi9kb2MvZW1hY3MvZmlsZXMudGV4aQpAQCAtMTY4
MCw2ICsxNjgwLDEwIEBAIENvbXBhcmluZyBGaWxlcwogICBUaGUgY29tbWFuZCBAa2Jke00teCBk
aWZmLWJ1ZmZlcnN9IGNvbXBhcmVzIHRoZSBjb250ZW50cyBvZiB0d28KIHNwZWNpZmllZCBidWZm
ZXJzLgogCitAZmluZGV4IGRpZmYtd2l0aC11bmRvCisgIFRoZSBjb21tYW5kIEBrYmR7TS14IGRp
ZmYtd2l0aC11bmRvfSBjb21wYXJlcyB0aGUgY3VycmVudCBidWZmZXIgd2l0aAoraXRzIHVuZG8g
c3RhdGVzLgorCiBAZmluZGV4IGNvbXBhcmUtd2luZG93cwogICBUaGUgY29tbWFuZCBAa2Jke00t
eCBjb21wYXJlLXdpbmRvd3N9IGNvbXBhcmVzIHRoZSB0ZXh0IGluIHRoZQogY3VycmVudCB3aW5k
b3cgd2l0aCB0aGF0IGluIHRoZSB3aW5kb3cgdGhhdCB3YXMgdGhlIHNlbGVjdGVkIHdpbmRvdwpk
aWZmIC0tZ2l0IGEvZG9jL21pc2MvZWRpZmYudGV4aSBiL2RvYy9taXNjL2VkaWZmLnRleGkKaW5k
ZXggNzNmNzUxZjNhNGIuLjA4MGQ3ZTBjNDMyIDEwMDY0NAotLS0gYS9kb2MvbWlzYy9lZGlmZi50
ZXhpCisrKyBiL2RvYy9taXNjL2VkaWZmLnRleGkKQEAgLTE2NSw2ICsxNjUsMTAgQEAgTWFqb3Ig
RW50cnkgUG9pbnRzCiBDb21wYXJlIHRoZSBidWZmZXIgd2l0aCBpdHMgZmlsZSBvbiBkaXNrLiAg
VGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCBhcyBhCiBzYWZlIHZlcnNpb24gb2YgQGNvZGV7cmV2
ZXJ0LWJ1ZmZlcn0uCiAKK0BpdGVtIGVkaWZmLXVuZG8KK0BmaW5kZXggZWRpZmYtdW5kbworQ29t
cGFyZSB0aGUgYnVmZmVyIG9yIHJlZ2lvbiB3aXRoIGl0cyB1bmRvIHN0YXRlcy4KKwogQGl0ZW0g
ZWRpZmYtYnVmZmVycwogQGZpbmRleCBlZGlmZi1idWZmZXJzCiBDb21wYXJlIHR3byBidWZmZXJz
LgpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCAzNWU2ZWRjZDcxMi4uZjdi
ZWQ5OWFmOGYgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0xMjA3LDYg
KzEyMDcsMTIgQEAgb3ZlcmxhcC4KIAogKioqICdkaWZmLWFwcGx5LWh1bmsnIG5vdyBzdXBwb3J0
cyBjcmVhdGluZyBhbmQgZGVsZXRpbmcgZmlsZXMuCiAKKyoqKiBOZXcgY29tbWFuZCAnZGlmZi13
aXRoLXVuZG8nIHRvIGNvbXBhcmUgYnVmZmVyIHdpdGggaXRzIHVuZG8gc3RhdGVzLgorVGhpcyBj
b21tYW5kIGNvbXBhcmVzIHRoZSBjdXJyZW50IGJ1ZmZlciBhbmQgaG93IGl0IHdvdWxkIGxvb2sg
aWYgdW5kbword2VyZSBwZXJmb3JtZWQuICBXaXRoIGEgcHJlZml4IGFyZ3VtZW50LCBpdCBjb25z
aWRlcnMgdGhhdCBtYW55IHVuZG8KK29wZXJhdGlvbnMuICBXaXRoIGFuIGFjdGl2ZSByZWdpb24s
IGl0IHJlc3RyaWN0cyBpdHNlbGYgdG8gY2hhbmdlcyBpbgordGhhdCByZWdpb24uCisKIC0tLQog
KioqICd2Yy12ZXJzaW9uLWRpZmYnIGFuZCAndmMtcm9vdC12ZXJzaW9uLWRpZmYnIGNoYW5nZWQg
ZGVmYXVsdCBmb3IgUkVWMS4KIFRoZXkgc3VnZ2VzdCB0aGUgcHJldmlvdXMgcmV2aXNpb24gYXMg
dGhlIGRlZmF1bHQgZm9yIFJFVjEsIG5vdCB0aGUgbGFzdApAQCAtMTI1Niw2ICsxMjYyLDEwIEBA
IGFuZCBjb250cm9sIHdpbmRvd3MgY2FuIGJlIGxlZnQgdW5kaXNwbGF5ZWQgYW5kIHRoZSBjb3Jy
ZXNwb25kaW5nCiB2YXJpYWJsZSBzZXQgdG8gbmlsLiAgVGhpcyBjaGFuZ2UgZW5hYmxlcyBjdXN0
b20gbGF5b3V0cyB3aXRob3V0CiBhIGNvbnRyb2wgcGFuZWwgd2luZG93LgogCisqKiogTmV3IGNv
bW1hbmQgJ2VkaWZmLXVuZG8nIHRvIGNvbXBhcmUgYnVmZmVyIHdpdGggaXRzIHVuZG8gc3RhdGVz
LgorVGhpcyBjb21tYW5kIGNvbXBhcmVzIHRoZSBjdXJyZW50IGJ1ZmZlciBhbmQgaG93IGl0IHdv
dWxkIGxvb2sgaWYgdW5kbword2VyZSBwZXJmb3JtZWQgKHNlZSBzaW1pbGFyIGVudHJ5IGZvciAn
ZGlmZi13aXRoLXVuZG8nKS4KKwogKiogRGlyZWQKIAogKysrCmRpZmYgLS1naXQgYS9saXNwL3Np
bXBsZS5lbCBiL2xpc3Avc2ltcGxlLmVsCmluZGV4IDcwMzcxNThkZjhkLi4yYzVkYWY3NDE0NiAx
MDA2NDQKLS0tIGEvbGlzcC9zaW1wbGUuZWwKKysrIGIvbGlzcC9zaW1wbGUuZWwKQEAgLTQyNTQs
NiArNDI1NCwyOSBAQCB1bmRvLW91dGVyLWxpbWl0LXRydW5jYXRlCiAJCSAgICAgOndhcm5pbmcp
CiAgICAgKHNldHEgYnVmZmVyLXVuZG8tbGlzdCBuaWwpCiAgICAgdCkpCisKKyhkZWZ1biB1bmRv
LXRvLWJ1ZmZlciAodGFyZ2V0LWJ1ZmZlciBzb3VyY2UtYnVmZmVyIGFyZyAmb3B0aW9uYWwgYmVn
IGVuZCkKKyAgIkFwcGx5IEFSRyB1bmRvIG9wZXJhdGlvbnMgZnJvbSBTT1VSQ0UtQlVGRkVSIHRv
IFRBUkdFVC1CVUZGRVIuCitUQVJHRVQtQlVGRkVSIGlzIHNldCB0byB0aGUgdW5kb25lIHN0YXRl
IG9mIFNPVVJDRS1CVUZGRVIuCitJZiBCRUcgYW5kIEVORCBhcmUgbm9uLW5pbCwgcmVzdHJpY3Qg
dW5kbyBvcGVyYXRpb25zIHRvIHRoYXQgcmVnaW9uLgorCitBUkcgaXMgdGhlIG51bWJlciBvZiB1
bmRvIG9wZXJhdGlvbnMgdG8gYXBwbHkgKG11c3QgYmUgbm9uLW5lZ2F0aXZlKS4KK1RoZSBtYWpv
ciBtb2RlIG9mIFRBUkdFVC1CVUZGRVIgaXMgc2V0IHRvIG1hdGNoIFNPVVJDRS1CVUZGRVIuIgor
ICAod2hlbiAobWludXNwIGFyZykKKyAgICAoZXJyb3IgIk5lZ2F0aXZlIGFyZ3VtZW50ICVkIiBh
cmcpKQorICAod2l0aC1jdXJyZW50LWJ1ZmZlciB0YXJnZXQtYnVmZmVyCisgICAgKGVyYXNlLWJ1
ZmZlcikKKyAgICAoaW5zZXJ0LWJ1ZmZlci1zdWJzdHJpbmcgc291cmNlLWJ1ZmZlcikKKyAgICAo
c2V0cSBidWZmZXItdW5kby1saXN0CisgICAgICAgICAgKHVuZG8tY29weS1saXN0IChidWZmZXIt
bG9jYWwtdmFsdWUgJ2J1ZmZlci11bmRvLWxpc3Qgc291cmNlLWJ1ZmZlcikpKQorICAgIChmdW5j
YWxsIChidWZmZXItbG9jYWwtdmFsdWUgJ21ham9yLW1vZGUgc291cmNlLWJ1ZmZlcikpCisgICAg
KGlmIChhbmQgYmVnIGVuZCkKKyAgICAgICAgKGxldCAoKHVuZG8taW4tcmVnaW9uIHQpCisgICAg
ICAgICAgICAgIChsYXN0LWNvbW1hbmQgbmlsKQorICAgICAgICAgICAgICAodGhpcy1jb21tYW5k
ICd1bmRvKSkKKyAgICAgICAgICAodW5kby1zdGFydCBiZWcgZW5kKQorICAgICAgICAgICh1bmRv
LW1vcmUgKDErIGFyZykpKQorICAgICAgKHVuZG8gYXJnKSkpKQogDAogOzs7OyBTaGVsbCBjb21t
YW5kcwogCmRpZmYgLS1naXQgYS9saXNwL3ZjL2RpZmYuZWwgYi9saXNwL3ZjL2RpZmYuZWwKaW5k
ZXggYzhhMWI3YzBlZmEuLmQ3MjQ3OTU5NDA3IDEwMDY0NAotLS0gYS9saXNwL3ZjL2RpZmYuZWwK
KysrIGIvbGlzcC92Yy9kaWZmLmVsCkBAIC0yOTUsNiArMjk1LDIxIEBAIGRpZmYtYnVmZmVycwog
ICAgICAobGlzdCBvbGRiIG5ld2IgKGRpZmYtc3dpdGNoZXMpKSkpCiAgIChkaWZmIChnZXQtYnVm
ZmVyIG9sZCkgKGdldC1idWZmZXIgbmV3KSBzd2l0Y2hlcyBuby1hc3luYykpCiAKKzs7OyMjI2F1
dG9sb2FkCisoZGVmdW4gZGlmZi13aXRoLXVuZG8gKGFyZykKKyAgIlZpZXcgZGlmZmVyZW5jZXMg
YmV0d2VlbiBjdXJyZW50IGJ1ZmZlciBhbmQgaXRzIHVuZG8gc3RhdGUKK1dpdGggcHJlZml4IEFS
RywgY29uc2lkZXIgdGhhdCBtYW55IHVuZG8gb3BlcmF0aW9ucy4KK1dpdGggYWN0aXZlIHJlZ2lv
biwgcmVzdHJpY3QgdG8gb3BlcmF0aW9ucyBpbiB0aGUgcmVnaW9uLgorCitUaGlzIHJlcXVpcmVz
IHRoZSBleHRlcm5hbCBwcm9ncmFtIGBkaWZmJyB0byBiZSBpbiB5b3VyIGBleGVjLXBhdGgnLiIK
KyAgKGludGVyYWN0aXZlICJwIikKKyAgKGxldCogKChiZWcgKHVzZS1yZWdpb24tYmVnaW5uaW5n
KSkKKyAgICAgICAgIChlbmQgKHVzZS1yZWdpb24tZW5kKSkKKyAgICAgICAgIChvcmlnLWJ1ZiAo
Y3VycmVudC1idWZmZXIpKSkKKyAgICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgKHVuZG8tdG8t
YnVmZmVyIChjdXJyZW50LWJ1ZmZlcikgb3JpZy1idWYgYXJnIGJlZyBlbmQpCisgICAgICAoZGlm
Zi1idWZmZXJzIChjdXJyZW50LWJ1ZmZlcikgb3JpZy1idWYgbmlsICdub2FzeW5jKSkpKQorCiAo
cHJvdmlkZSAnZGlmZikKIAogOzs7IGRpZmYuZWwgZW5kcyBoZXJlCmRpZmYgLS1naXQgYS9saXNw
L3ZjL2VkaWZmLmVsIGIvbGlzcC92Yy9lZGlmZi5lbAppbmRleCBiYzg5YjIwMjVmZi4uNDM2YjQx
ODAxZDggMTAwNjQ0Ci0tLSBhL2xpc3AvdmMvZWRpZmYuZWwKKysrIGIvbGlzcC92Yy9lZGlmZi5l
bApAQCAtNDAwLDYgKzQwMCwyMiBAQCBlZGlmZi1jdXJyZW50LWZpbGUKICAgICAgIChmdW5jYWxs
IGN1cnJlbnQtbWFqb3IpKQogICAgIChlZGlmZi1idWZmZXJzIHJldmVydC1idWYgKGN1cnJlbnQt
YnVmZmVyKSBzdGFydHVwLWhvb2tzKSkpCiAKKzs7OyMjI2F1dG9sb2FkCisoZGVmdW4gZWRpZmYt
dW5kbyAoYXJnICZvcHRpb25hbCBzdGFydHVwLWhvb2tzKQorICAiUnVuIEVkaWZmIG9uIGN1cnJl
bnQgYnVmZmVyIGFuZCBpdHMgdW5kbyBzdGF0ZXMuCitDb21wYXJlIGJ1ZmZlciB0byBob3cgaXQg
d291bGQgYmUgaWYgdW5kbyB3ZXJlIHBlcmZvcm1lZC4KK1dpdGggcHJlZml4IEFSRywgY29uc2lk
ZXIgdGhhdCBtYW55IHVuZG8gb3BlcmF0aW9ucy4KK1dpdGggYWN0aXZlIHJlZ2lvbiwgcmVzdHJp
Y3QgdG8gb3BlcmF0aW9ucyBpbiB0aGUgcmVnaW9uLgorCitOb24taW50ZXJhY3RpdmVseSwgU1RB
UlRVUC1IT09LUyBpcyBhIGxpc3Qgb2YgZnVuY3Rpb25zIHRoYXQgRW1hY3MgY2FsbHMKK3dpdGhv
dXQgYXJndW1lbnRzIGFmdGVyIHNldHRpbmcgdXAgdGhlIEVkaWZmIGJ1ZmZlcnMuIgorICAoaW50
ZXJhY3RpdmUgInAiKQorICAobGV0KiAoKGJlZyAodXNlLXJlZ2lvbi1iZWdpbm5pbmcpKQorICAg
ICAgICAgKGVuZCAodXNlLXJlZ2lvbi1lbmQpKQorICAgICAgICAgKHVuZG8tYnVmLW5hbWUgKGdl
bmVyYXRlLW5ldy1idWZmZXItbmFtZSAiKmVkaWZmLXVuZG8qIikpCisgICAgICAgICAodW5kby1i
dWYgKGdldC1idWZmZXItY3JlYXRlIHVuZG8tYnVmLW5hbWUpKSkKKyAgICAodW5kby10by1idWZm
ZXIgdW5kby1idWYgKGN1cnJlbnQtYnVmZmVyKSBhcmcgYmVnIGVuZCkKKyAgICAoZWRpZmYtYnVm
ZmVycyB1bmRvLWJ1ZiAoY3VycmVudC1idWZmZXIpIHN0YXJ0dXAtaG9va3MpKSkKIAogOzs7IyMj
YXV0b2xvYWQKIChkZWZ1biBlZGlmZi1iYWNrdXAgKGZpbGUpCi0tIAoyLjM5LjMgKEFwcGxlIEdp
dC0xNDUpCgo=
--000000000000b68c6706323d9ee7--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 8 Apr 2025 05:25:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 08 01:25:31 2025
Received: from localhost ([127.0.0.1]:58266 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u21Sl-0007YQ-7I
	for submit <at> debbugs.gnu.org; Tue, 08 Apr 2025 01:25:31 -0400
Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]:60429)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <ultrono@HIDDEN>) id 1u21Sj-0007Xv-6T
 for 77580 <at> debbugs.gnu.org; Tue, 08 Apr 2025 01:25:29 -0400
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5e5bc066283so8361104a12.0
 for <77580 <at> debbugs.gnu.org>; Mon, 07 Apr 2025 22:25:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744089923; x=1744694723; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from:from:to
 :cc:subject:date:message-id:reply-to;
 bh=XE3EYcDvvnnLSMnFw0uto4hMxcIt05KXH94RvS9rXek=;
 b=GvS937xN9gS9uSmcAI2P8mCUpvRFFsH2sNK4sZAYAfxwKEzGJmUadBWGqjU3YKnbEG
 eiDDKYlLDvy3zcZ8qnf84h6taN4eFyW7hJMg6xJr4K+jKjxWYZRs6/4CI2+g4Fqv7Zs3
 eCXE0HGChkUk2VhKsQfSWaNe7cmDzXvU8AlsqDJ667EpcDlrg/PiO1qSzzdZU19m3H9U
 ChXViCxf7JeuHi20QJzqsIufMs7ALDzhUiun8sMRrl2vNegzrDMtzg2OtXjRmLmQQS9Q
 ixlfsYI0L22sB5jY5tZpZxG/FvfqxhvgN1GIOUSyPUZ2I4vieIeR0CwzsUwP3SYwN+lh
 Trtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744089923; x=1744694723;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=XE3EYcDvvnnLSMnFw0uto4hMxcIt05KXH94RvS9rXek=;
 b=wiXgoumV7BxyOtrcg6r4JtKyj9BJaY3IfEu6GhTtTgrgCCWQHIQQ8Lhkskwdmn5A6Y
 uWXOXBES/beFUgbUkE2ia6yC7khG+1KVRhhZ/J7OFHRjwYTLcelbLxkoX2xOACYKKJ9X
 B2UyTvh33EgSL9BybfVe+F0lVzGkAKxyIyzQ6C5vOvqpGYKVtG/W9oB22d+V6gCSj4PP
 UICNbVO5KIXgldPNFSObA/zWglqZcQ19hjq2o00qZqPDzPOm7kSKShp2T/7OweRrb/do
 +tr8E6Yi2gyKN8nOuhxbnUVg5e8quKqlhWbXRnQb7/sGx/WVh/r8aUwEdyb46evivC75
 1I7w==
X-Gm-Message-State: AOJu0Ywg/6EBF374WMNFgDzRw7y0tyvVCUElaZTkRBCiF5K5S0zuP1MI
 HKdEOCaTi/Mc35RDeacterWr85JnswWFEog8H4LHOE2lk19CjWjh
X-Gm-Gg: ASbGncsgKk7DH7z2MsMTYExzTwtSbs3+nCL5Hz4121WwRTBPzDckgXoB8ECoXLs4vwM
 pZToe5L7XDCi+t+tfYQzaH7QU6i0bxh7hboUvxv6+PNKuL0qgVy1vS0hvbErl/KgYoe6F+Nlb6L
 gEHy4CArAEogqR5NQiBK+gmFnjlMmtcEhw+FSpTQMDV4EsUNQKZiiyCOOr1HDqJc8InajCMxRt0
 yg7FCopGixgE6ISN35fXd1OVWPQXfkjeOjKCzRT8DDX0H3TKAlxJNGb3CA94rRcUk6IIeBYMHrn
 yDTihzdPZhF18paZEPCpsw89RXWPBFzhxS/scBCr9kXqisJ1d15wl87jARuA86JJdF5iBe7OiZv
 9+Jle9pSkFA==
X-Google-Smtp-Source: AGHT+IEHmgQ1I/VS51T2PLTbt0O0CxFbqlFMZswlZLC28FjtI1y7k7VUi/TyHibUBbfa53abuyjvaQ==
X-Received: by 2002:a05:6402:234c:b0:5dc:7643:4f3d with SMTP id
 4fb4d7f45d1cf-5f0b5d82cb1mr11796214a12.1.1744089922458; 
 Mon, 07 Apr 2025 22:25:22 -0700 (PDT)
Received: from localhost (0x573d6713.static.cust.fastspeed.dk. [87.61.103.19])
 by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5f087ed1c1csm7542073a12.22.2025.04.07.22.25.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Apr 2025 22:25:21 -0700 (PDT)
From: "Paul D. Nelson" <ultrono@HIDDEN>
To: Sean Whitton <spwhitton@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
In-Reply-To: <87mscricb7.fsf@HIDDEN> (message from Sean
 Whitton on Tue, 08 Apr 2025 11:04:12 +0800)
Date: Tue, 08 Apr 2025 07:25:20 +0200
Message-ID: <uxsg7t34eji5rz.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77580
Cc: 77580 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

> Cool.  There is ediff-with-current-buffer so probably it should be named
> ediff-with-undo, like you already have diff-with-undo.

I appreciate this suggestion, but it's less clear to me for a few
reasons:

- ediff-with-current-buffer is an internal macro.

- the user-facing Ediff commands omit words like "with".

- I used "diff-with-undo" just because "diff-undo" was taken by a
  more-or-less internal helper function (undo inhibiting read-only).

As I see it, the advantages of "ediff-undo" are internal consistency
with user-facing ediff-* commands, and brevity (for the command name,
and buffer names like "*ediff-undo*").  The disadvantage is that it is
not quite parallel to "diff-with-undo".  On the other hand, the two sets
of commands are already not particularly consistent in their naming.

I still lean towards "ediff-undo" given its brevity and internal
consistency, but would be happy to discuss further.

>> In practice, I've just spammed C-u enough times.  I considered
>> allowing a negative argument to signal "undo everything", which would
>> be most useful with an active region; how does that sound?
>
> Wouldn't undoing everything just be the existing diff-buffer-with-file?
> That doesn't seem right.

The proposed operation of diff-with-undo with a negative argument C--
would differ from diff-buffer-with-file in some cases:

- With an active region, it would preview undo restricted to that
  region.

- If you've saved the file more than once in the current session, "undo
  everything" goes to the state at the beginning of the session rather
  than the last save.

Let me know if you think this feature seems worth including.  I lean
towards "no" out of a desire to keep the new commands consistent with
"undo" itself, which does not accept a negative argument.

>
>> I hadn't thought about automatic detection along the lines that you
>> suggest.  I think I'm happy to leave that for now, either to a
>> refinement of this command or a future one.
>
> To be honest, I don't like adding a command where the normal way to use
> it is to spam C-u.  The normal way to use it should be easy to access.
> So let's try to think of something better.

Agreed.

Thinking further, this scenario seems niche rather than normal.  The
original intent might be met more directly by some new command such as
revert-buffer-in-region, diff-buffer-with-file-in-region,
vc-diff-in-region, diff-backup-in-region, (...).

The situation resembles that of the undo command itself.  Typically, we
should either undo small amounts, or resort to one of the structural
undo-like commands tied to file or VC status.  Only rarely should we
need to do something like C-99 C-/ (possibly in a region), but that
option remains a useful fallback.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 8 Apr 2025 03:04:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 07 23:04:27 2025
Received: from localhost ([127.0.0.1]:57946 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u1zGE-000521-Ov
	for submit <at> debbugs.gnu.org; Mon, 07 Apr 2025 23:04:27 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:52494)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <spwhitton@HIDDEN>)
 id 1u1zGA-00051M-IU
 for 77580 <at> debbugs.gnu.org; Mon, 07 Apr 2025 23:04:24 -0400
DKIM-Signature: a=rsa-sha256;
 b=m9U0YpHeoik+4pC8SgRE7DciFc1TvwoKNBs3FSdX5EoEmwN+o56r9hiFXADts2WuvQftQehX+Fe7zcvDUpTpC3uOVc4+dZQrPBiJ/2yYyBA7lltN/ksC2RanngIEvYuLWZUfiAYdvIK0mRX+Bwgsgshro4mJs7DG6REyl8hwHR4Tewam23ysvGlPI+y0aSNae2TfKv1LvKuqJrKl7CxH9IvJ9TVYf1+D/c1aH9/BrdUFta1I7lZNNOKWIlZ5Fh2xpJ849MdyBPi0fsL2oQN0W0Yd74ZKLfVeGbeiGT6iXdJfa9y6P9JVRs/5R1fWR5sMDBdM7eQZl/mlFPJyuWQwYQ==;
 s=purelymail1; d=spwhitton.name; v=1;
 bh=fwww6Idn4JlwJdk4OT4mdqWjDcfUo86YxZEvNnNJfMg=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=4aA43cMZtzQzdKIr3LlTm7i93x6y3/VQVbmN6CYabi/gy/rZpspfEsuFdrZTzP04ZxlZelWCYXsZZvVb695+0Xq585guaynw0XDAU+yRpoVurKtjmSbdamQFuOxZ7rTGYrg0ZMWzFHbvvcjnWcJOBPPhm9oSHP65D4V/EiSN71I0CKRECVXaHzcdVYJpD7fHcOrk3jzyTeqi2ex9YOFhns281IFr6QVR28ykXtcUeQ1thlcX0kXugFRvnTPNXw5VvTDuypsBiaji0JnVj/BmORrQYQ/CNxCgWvlv875yyT31w5YIlDWCxfRu6OLQn64u9WSm9590Tzy/jKrEPTb0wg==;
 s=purelymail1; d=purelymail.com; v=1;
 bh=fwww6Idn4JlwJdk4OT4mdqWjDcfUo86YxZEvNnNJfMg=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 77580 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 1373249750; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 08 Apr 2025 03:04:15 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id B12197EF731; Tue, 08 Apr 2025 11:04:12 +0800 (CST)
From: Sean Whitton <spwhitton@HIDDEN>
To: "Paul D. Nelson" <ultrono@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
In-Reply-To: <uxsg7tecy4cx27.fsf@HIDDEN>
References: <uxsg7tfrilxpir.fsf@HIDDEN> <uxsg7tecy4cx27.fsf@HIDDEN>
Date: Tue, 08 Apr 2025 11:04:12 +0800
Message-ID: <87mscricb7.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77580
Cc: 77580 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello,

On Mon 07 Apr 2025 at 08:20am +02, Paul D. Nelson wrote:

> Hi Sean, thanks for your comments.
>
>> - Why ediff?  Why not plain diff?  The latter is lighter weight, and is
>>   what diff-buffer-with-file uses, and your new command feels similar to
>>   diff-buffer-with-file, to me.
>
> "ediff" because that's what I've typically used more, but I agree that
> it makes sense to have a "diff" analogue, so I've added one (attached).

Cool.  There is ediff-with-current-buffer so probably it should be named
ediff-with-undo, like you already have diff-with-undo.

Btw I noticed that in undo-to-buffer it would be better to use
'(when (minusp' instead of '(unless (>='

>> - Have you thought about automatically detecting how far to go back,
>>   somehow?  We already have a feature whereby autosaves are disabled if
>>   the buffer text has shrunk a lot; maybe that heuristic could help
>>   here.  Probably this would want to be a separate command so the manual
>>   version was still available.
>>
>
> In practice, I've just spammed C-u enough times.  I considered allowing
> a negative argument to signal "undo everything", which would be most
> useful with an active region; how does that sound?

Wouldn't undoing everything just be the existing diff-buffer-with-file?
That doesn't seem right.

> I hadn't thought about automatic detection along the lines that you
> suggest.  I think I'm happy to leave that for now, either to a
> refinement of this command or a future one.

To be honest, I don't like adding a command where the normal way to use
it is to spam C-u.  The normal way to use it should be easy to access.
So let's try to think of something better.

>>> +         (orig-buf (current-buffer))
>>> +         (current-major major-mode)
>>> +         (undo-buf-name (concat "UNDO=" (buffer-name orig-buf)))
>>
>> A more usual name would be " *ediff-undo*<N>", I think.  The space means
>> it is considered an internal buffer.  (I know you're copying other ediff
>> practice with this FOO= thing but let's not introduce more.)
>
> I'm hesitant to mark it as internal since other Ediff functions don't
> automatically delete modified non-indirect buffers without user-defined
> cleanup hooks.  In particular, I think it would be confusing if this
> function behaved differently from ediff-current-file, although I see
> your point about naming conventions.  Perhaps "*ediff-undo*<N>" would be
> more suitable?

Yes, sure, sounds good.

>>> +      (funcall current-major)
>>
>> Could you explain why the temporary buffer needs to be set to the major
>> mode?  Is it for font lock/syntax highlighting, essentially?
>
> Another reason is that users might edit the "undo" buffer during the
> Ediff session, in which case standard keybindings are useful.  Other
> suggestions would be welcome here.

Cool.

-- 
Sean Whitton




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 7 Apr 2025 06:20:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 07 02:20:28 2025
Received: from localhost ([127.0.0.1]:51830 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u1fqN-0003pU-RO
	for submit <at> debbugs.gnu.org; Mon, 07 Apr 2025 02:20:28 -0400
Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]:59720)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <ultrono@HIDDEN>) id 1u1fqL-0003oZ-RP
 for 77580 <at> debbugs.gnu.org; Mon, 07 Apr 2025 02:20:26 -0400
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-aaf0f1adef8so629766266b.3
 for <77580 <at> debbugs.gnu.org>; Sun, 06 Apr 2025 23:20:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744006819; x=1744611619; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from:from:to
 :cc:subject:date:message-id:reply-to;
 bh=l03C4comENYrAbHso56wfpr/W03jYTAQTz4E+1o0Dvs=;
 b=mrvnzdWAi7fTJfZmXtz04qu3RW++VeZrCeF5MdBDM8eenZJLRrki0n5cOKe9D+xnlQ
 Z/13L9tc+kL8HnqTSO6Dfl/XlMcpUhLKhWzGZpxjAN9MssSnfCqWNjjFFlRDFQr2uP4W
 dCc/dYGkXzNPS5Lrgwdgoxh6ulCtRFvdkQta92DSPZ8oIdKwmv693M8sMAehR32jfiZH
 IPEkCwCo9EIzAxdckSD69pn5AVTWBzYa+URX9oIOKlY2vUquWr6y6RDXUj7AY0Wh8U9n
 V3BDHxxksw+tVvSUEy2crF4KDxmIWKnxILJb+S8/sjgWJz9TF1NrkwrDwu7DIQvvH7OH
 /vmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744006819; x=1744611619;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=l03C4comENYrAbHso56wfpr/W03jYTAQTz4E+1o0Dvs=;
 b=eQXigveCpBImBGww2G1bqJv5t8ZwcuvkAxLQKM6+Joij0BPcC3IMKNjDBCLEvqw1kS
 12HX+tF60dJJXH8czxV7nGUilQWe1fADTm5SgOMCy/4SMzX7Nvo6JtC/DMPjHO/fCs7N
 UQAArPk/5l0bbMl5IEX2jj3sG4IYn8hRyO+YKhkkkSnUHv13aG96ZuPS+rblWnxnNeHS
 mrZKaxLrnXVhjK4NBLPH/vBP8/+BRK14VVgS6OVX386FpVpBC7PyCdcpUw39ZSnm/UBR
 RGMH4+29FTqVqWdp2RR5MJwGS0QhxUkHsNPAEgsIjq6t9E2YwMeGGezN5cu4LA7vHquY
 X1ug==
X-Gm-Message-State: AOJu0Yyq7XJzcfOahC+FrJFIaj3E7wDb5tMHlKBoVi/zt6RafoQxTgyM
 59HNScJ2eLR6FjHh1T8oA9r8eWKAktjU/fbEgxo2UFXzYDUFHQXYJRZYFWEN
X-Gm-Gg: ASbGnct2hL1924MsFFlV4y2s4uvGqztHnD8rBH9ItXSHdRNzuDOPIw7jKmnEJ37JdGZ
 br0Za6xFOmqaEEouJaztv5J96FHdNIQn7PS/wgaY9Z8gCVR/yK0il6KA8LFNH/9gQ5XcO/0QfR+
 J8zATMHmfeSagEyiOW9nwzKEbUNkIWr5Gz2BotbhbG9kQDQHGJzZXe2+xz1PFbL1tZBhz/lZJVB
 fp8gfMz/vlxQwMWQWKWDYld86qmZtuHFwNUZPcvsk7A+mVukkdtCLmKX9GOjbRXr9G68JcMFQUA
 Z14rPb9eTpcJss/hhAslcU93EOaCe02j9M0TJTdRzF/oWNeXddDuUT6fHhJadQhnakpE6IncU3m
 pYRizXxoG9gdIikXbVHet
X-Google-Smtp-Source: AGHT+IFa51vjo2ooOsVV+kywRWgxQwyoaV9uQfIh4jjyAVo6kaS/600qAEuEEH9N2Af83MR/5M4o0Q==
X-Received: by 2002:a17:907:86a1:b0:ac7:d10c:1f39 with SMTP id
 a640c23a62f3a-ac7d6d04c9fmr849494066b.20.1744006818697; 
 Sun, 06 Apr 2025 23:20:18 -0700 (PDT)
Received: from localhost (0x573d6713.static.cust.fastspeed.dk. [87.61.103.19])
 by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac7db764fa6sm519629566b.100.2025.04.06.23.20.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 06 Apr 2025 23:20:18 -0700 (PDT)
From: "Paul D. Nelson" <ultrono@HIDDEN>
To: Sean Whitton <spwhitton@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
In-Reply-To: <87h630lq8g.fsf@HIDDEN> (message from Sean
 Whitton on Mon, 07 Apr 2025 09:22:55 +0800)
Date: Mon, 07 Apr 2025 08:20:16 +0200
Message-ID: <uxsg7tecy4cx27.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77580
Cc: 77580 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain

Hi Sean, thanks for your comments.

> - Why ediff?  Why not plain diff?  The latter is lighter weight, and is
>   what diff-buffer-with-file uses, and your new command feels similar to
>   diff-buffer-with-file, to me.

"ediff" because that's what I've typically used more, but I agree that
it makes sense to have a "diff" analogue, so I've added one (attached).

> - Have you thought about automatically detecting how far to go back,
>   somehow?  We already have a feature whereby autosaves are disabled if
>   the buffer text has shrunk a lot; maybe that heuristic could help
>   here.  Probably this would want to be a separate command so the manual
>   version was still available.
>

In practice, I've just spammed C-u enough times.  I considered allowing
a negative argument to signal "undo everything", which would be most
useful with an active region; how does that sound?

I hadn't thought about automatic detection along the lines that you
suggest.  I think I'm happy to leave that for now, either to a
refinement of this command or a future one.

>> +         (orig-buf (current-buffer))
>> +         (current-major major-mode)
>> +         (undo-buf-name (concat "UNDO=" (buffer-name orig-buf)))
>
> A more usual name would be " *ediff-undo*<N>", I think.  The space means
> it is considered an internal buffer.  (I know you're copying other ediff
> practice with this FOO= thing but let's not introduce more.)

I'm hesitant to mark it as internal since other Ediff functions don't
automatically delete modified non-indirect buffers without user-defined
cleanup hooks.  In particular, I think it would be confusing if this
function behaved differently from ediff-current-file, although I see
your point about naming conventions.  Perhaps "*ediff-undo*<N>" would be
more suitable?

>> +      (funcall current-major)
>
> Could you explain why the temporary buffer needs to be set to the major
> mode?  Is it for font lock/syntax highlighting, essentially?

Another reason is that users might edit the "undo" buffer during the
Ediff session, in which case standard keybindings are useful.  Other
suggestions would be welcome here.

Paul


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-Add-diff-with-undo-and-ediff-undo-commands.patch

From 9e3782e855909f6170faa5078b65c0d46e91e7a6 Mon Sep 17 00:00:00 2001
From: Paul Nelson <ultrono@HIDDEN>
Date: Sun, 6 Apr 2025 15:19:50 +0200
Subject: [PATCH] Add diff-with-undo and ediff-undo commands

* lisp/vc/diff.el (diff-with-undo):
* lisp/vc/ediff.el (ediff-undo): New commands to compare current
buffer and its undo state.
* doc/emacs/files.texi (Comparing Files):
* doc/misc/ediff.texi (Major Entry Points): Document them.
* lisp/simple.el (undo-to-buffer): New helper function, used to
implement the above.
---
 doc/emacs/files.texi |  4 ++++
 doc/misc/ediff.texi  |  4 ++++
 etc/NEWS             | 10 ++++++++++
 lisp/simple.el       | 23 +++++++++++++++++++++++
 lisp/vc/diff.el      | 15 +++++++++++++++
 lisp/vc/ediff.el     | 16 ++++++++++++++++
 6 files changed, 72 insertions(+)

diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index 6128be8f128..8dee84ed1fa 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -1680,6 +1680,10 @@ Comparing Files
   The command @kbd{M-x diff-buffers} compares the contents of two
 specified buffers.
 
+@findex diff-with-undo
+  The command @kbd{M-x diff-with-undo} compares the current buffer with
+its undo states.
+
 @findex compare-windows
   The command @kbd{M-x compare-windows} compares the text in the
 current window with that in the window that was the selected window
diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi
index 73f751f3a4b..080d7e0c432 100644
--- a/doc/misc/ediff.texi
+++ b/doc/misc/ediff.texi
@@ -165,6 +165,10 @@ Major Entry Points
 Compare the buffer with its file on disk.  This function can be used as a
 safe version of @code{revert-buffer}.
 
+@item ediff-undo
+@findex ediff-undo
+Compare the buffer or region with its undo states.
+
 @item ediff-buffers
 @findex ediff-buffers
 Compare two buffers.
diff --git a/etc/NEWS b/etc/NEWS
index 35e6edcd712..f7bed99af8f 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1207,6 +1207,12 @@ overlap.
 
 *** 'diff-apply-hunk' now supports creating and deleting files.
 
+*** New command 'diff-with-undo' to compare buffer with its undo states.
+This command compares the current buffer and how it would look if undo
+were performed.  With a prefix argument, it considers that many undo
+operations.  With an active region, it restricts itself to changes in
+that region.
+
 ---
 *** 'vc-version-diff' and 'vc-root-version-diff' changed default for REV1.
 They suggest the previous revision as the default for REV1, not the last
@@ -1256,6 +1262,10 @@ and control windows can be left undisplayed and the corresponding
 variable set to nil.  This change enables custom layouts without
 a control panel window.
 
+*** New command 'ediff-undo' to compare buffer with its undo states.
+This command compares the current buffer and how it would look if undo
+were performed (see similar entry for 'diff-with-undo').
+
 ** Dired
 
 +++
diff --git a/lisp/simple.el b/lisp/simple.el
index 7037158df8d..32accb473ac 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4254,6 +4254,29 @@ undo-outer-limit-truncate
 		     :warning)
     (setq buffer-undo-list nil)
     t))
+
+(defun undo-to-buffer (target-buffer source-buffer arg &optional beg end)
+  "Apply ARG undo operations from SOURCE-BUFFER to TARGET-BUFFER.
+TARGET-BUFFER is set to the undone state of SOURCE-BUFFER.
+If BEG and END are non-nil, restrict undo operations to that region.
+
+ARG is the number of undo operations to apply (must be non-negative).
+The major mode of TARGET-BUFFER is set to match SOURCE-BUFFER."
+  (unless (>= arg 0)
+    (error "Negative argument %d" arg))
+  (with-current-buffer target-buffer
+    (erase-buffer)
+    (insert-buffer-substring source-buffer)
+    (setq buffer-undo-list
+          (undo-copy-list (buffer-local-value 'buffer-undo-list source-buffer)))
+    (funcall (buffer-local-value 'major-mode source-buffer))
+    (if (and beg end)
+        (let ((undo-in-region t)
+              (last-command nil)
+              (this-command 'undo))
+          (undo-start beg end)
+          (undo-more (1+ arg)))
+      (undo arg))))
 
 ;;;; Shell commands
 
diff --git a/lisp/vc/diff.el b/lisp/vc/diff.el
index c8a1b7c0efa..d7247959407 100644
--- a/lisp/vc/diff.el
+++ b/lisp/vc/diff.el
@@ -295,6 +295,21 @@ diff-buffers
      (list oldb newb (diff-switches))))
   (diff (get-buffer old) (get-buffer new) switches no-async))
 
+;;;###autoload
+(defun diff-with-undo (arg)
+  "View differences between current buffer and its undo state
+With prefix ARG, consider that many undo operations.
+With active region, restrict to operations in the region.
+
+This requires the external program `diff' to be in your `exec-path'."
+  (interactive "p")
+  (let* ((beg (use-region-beginning))
+         (end (use-region-end))
+         (orig-buf (current-buffer)))
+    (with-temp-buffer
+      (undo-to-buffer (current-buffer) orig-buf arg beg end)
+      (diff-buffers (current-buffer) orig-buf nil 'noasync))))
+
 (provide 'diff)
 
 ;;; diff.el ends here
diff --git a/lisp/vc/ediff.el b/lisp/vc/ediff.el
index bc89b2025ff..092f376ac98 100644
--- a/lisp/vc/ediff.el
+++ b/lisp/vc/ediff.el
@@ -400,6 +400,22 @@ ediff-current-file
       (funcall current-major))
     (ediff-buffers revert-buf (current-buffer) startup-hooks)))
 
+;;;###autoload
+(defun ediff-undo (arg &optional startup-hooks)
+  "Run Ediff on current buffer and its undo states.
+Compare buffer to how it would be if undo were performed.
+With prefix ARG, consider that many undo operations.
+With active region, restrict to operations in the region.
+
+Non-interactively, STARTUP-HOOKS is a list of functions that Emacs calls
+without arguments after setting up the Ediff buffers."
+  (interactive "p")
+  (let* ((beg (use-region-beginning))
+         (end (use-region-end))
+         (undo-buf-name (concat "UNDO=" (buffer-name)))
+         (undo-buf (get-buffer-create undo-buf-name)))
+    (undo-to-buffer undo-buf (current-buffer) arg beg end)
+    (ediff-buffers undo-buf (current-buffer) startup-hooks)))
 
 ;;;###autoload
 (defun ediff-backup (file)
-- 
2.39.3 (Apple Git-145)


--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at 77580 <at> debbugs.gnu.org:


Received: (at 77580) by debbugs.gnu.org; 7 Apr 2025 01:23:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 06 21:23:11 2025
Received: from localhost ([127.0.0.1]:50294 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u1bCg-0005Pd-FT
	for submit <at> debbugs.gnu.org; Sun, 06 Apr 2025 21:23:10 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:49370)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <spwhitton@HIDDEN>)
 id 1u1bCc-0005OT-AK
 for 77580 <at> debbugs.gnu.org; Sun, 06 Apr 2025 21:23:07 -0400
DKIM-Signature: a=rsa-sha256;
 b=I/vHS3x6CGvBxx7HEKYaACLDVzdMytMyIsOXN9PBw4Zmn9Aj2h/gHpnI2GKa94x+trMhYdNo2Zagd07oObPSGrIxNitx/OIagc5edlnMulAiUSQfddwUOOfJAk65KqY+uq0Fkqb/vBqr96gyWkCZ8vjCtmvqoULwSU7rE0n0XFp2OS1Urur53QDXAKUfMrTvK7szUkLZaKM50zqi1EfaWIkGythbfm/Fqq9pMdb3s8jxAO/WQ1m67SD0YmjBdwLL0l2SKRoYOMtwU4lZyMSwmpyBvZLuDiCqvM2osi/9+FZ4HSiGWjwyGfwQH2bgopCd5pzURFf0YjGh1JXVQKCTrQ==;
 s=purelymail1; d=spwhitton.name; v=1;
 bh=h4hTr67jjDi2QD+Jv3IrQY2atoXxxIbwZ/n6g8jMcR4=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=2MLT06CPW11L0v1hTFn7E2D33t8KspyiIniaW2ASCIs5JRfyG+ytCIIbDChaRp4ZUN6lXifMAXVSdmJ/4lc0ofSWKmMS/Yi4Zy8qi/ow8YlSlP/ZgAPcgl2lY59glZnm32n00vhmnYhbPl40rr4pDFr0SjyhZeNcYmMKn/ErHaMnD87EyLAOdFWccbz6i5v7Dka5qCJU22i/KaCOoh4MAyIYKOn7rfy9QP+dKqsjdd6qvzgS7wzNWXEe0yeosmqsWDHhKJNUGwGJzsPI9SxnEaOSt8ysCMG6HQu+r28jawhqU40r0uakWpEDxpqo9AF1LKAIHNiZA7fDSqi2nnX6qw==;
 s=purelymail1; d=purelymail.com; v=1;
 bh=h4hTr67jjDi2QD+Jv3IrQY2atoXxxIbwZ/n6g8jMcR4=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 77580 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id -1965792889; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 07 Apr 2025 01:22:59 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id 91C2A7E6FDC; Mon, 07 Apr 2025 09:22:55 +0800 (CST)
From: Sean Whitton <spwhitton@HIDDEN>
To: "Paul D. Nelson" <ultrono@HIDDEN>
Subject: Re: bug#77580: [PATCH] New command ediff-undo
In-Reply-To: <uxsg7tfrilxpir.fsf@HIDDEN>
References: <uxsg7tfrilxpir.fsf@HIDDEN>
Date: Mon, 07 Apr 2025 09:22:55 +0800
Message-ID: <87h630lq8g.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77580
Cc: 77580 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello,

On Sun 06 Apr 2025 at 05:45pm +02, Paul D. Nelson wrote:

> I'd like to propose a command 'ediff-undo' that compares the current
> buffer with how it would look after undo.  It supports a prefix arg (to
> specify multiple undo steps) and respects the active region (to restrict
> undo operations to that region).
>
> Some less obvious situations where I've found this helpful:
>
> - When a buffer has been modified by an external program or a
>   complicated Emacs command.
>
> - After replacing part of a buffer with text obtained externally (e.g.,
>   copied from an external email client).
>
> - For a quick recap of recent edits to a buffer or region, via something
>   like C-u C-u C-u M-x ediff-undo.
>
> The implementation is a straightforward combination of parts of
> 'ediff-current-file' and 'undo'.  Any feedback would be welcome.

Thank you for an interesting idea!  I'm especially interested in the
external commands and complex Emacs commands case.

I've made a couple of minor code comments below.
Some higher level thoughts:

- Why ediff?  Why not plain diff?  The latter is lighter weight, and is
  what diff-buffer-with-file uses, and your new command feels similar to
  diff-buffer-with-file, to me.

- Have you thought about automatically detecting how far to go back,
  somehow?  We already have a feature whereby autosaves are disabled if
  the buffer text has shrunk a lot; maybe that heuristic could help
  here.  Probably this would want to be a separate command so the manual
  version was still available.

> diff --git a/etc/NEWS b/etc/NEWS
> index 35e6edcd712..261ff68605c 100644
> --- a/etc/NEWS
> +++ b/etc/NEWS
> @@ -1288,6 +1288,12 @@ name of the directory now reverts the Dired buffer.
>  With a new value of the prefix argument (1), this command copies file
>  names relative to the root directory of the current project.
>
> +*** New command 'ediff-undo' to compare buffer with its undo states.
> +This command compares the current buffer and how it would look if undo
> +were performed.  With a prefix argument, it considers that many undo
> +operations.  With an active region, it restricts to changes in that
> +region.

... it restricts itself to changes in that region ...

> +  (let* ((use-region (use-region-p))
> +         (beg (and use-region (region-beginning)))
> +         (end (and use-region (region-end)))

See use-region-beginning and use-region-end to make this shorter.

> +         (arg (if (numberp arg) arg 1))

It's more idiomatic to use an arguments list of (arg &optional ...) with
(interactive "p").

> +         (orig-buf (current-buffer))
> +         (current-major major-mode)
> +         (undo-buf-name (concat "UNDO=" (buffer-name orig-buf)))

A more usual name would be " *ediff-undo*<N>", I think.  The space means
it is considered an internal buffer.  (I know you're copying other ediff
practice with this FOO= thing but let's not introduce more.)

> +         (undo-buf (get-buffer undo-buf-name)))
> +    (unless (>= arg 0)
> +      (error "Negative argument %d" arg))

(unless (plusp arg)

> +    (when undo-buf
> +      (kill-buffer undo-buf)
> +      (setq undo-buf nil))
> +    (setq undo-buf (get-buffer-create undo-buf-name))

Usually in Elisp we call erase-buffer on the buffer rather than
killing and recreating it.

> +    (with-current-buffer undo-buf
> +      (insert-buffer-substring orig-buf)
> +      (setq buffer-undo-list
> +            (undo-copy-list (with-current-buffer orig-buf
> +                              buffer-undo-list)))

You can use buffer-local-value instead here.

> +      (funcall current-major)

Could you explain why the temporary buffer needs to be set to the major
mode?  Is it for font lock/syntax highlighting, essentially?

-- 
Sean Whitton




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 6 Apr 2025 15:45:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 06 11:45:34 2025
Received: from localhost ([127.0.0.1]:49220 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u1SBh-00060R-Nz
	for submit <at> debbugs.gnu.org; Sun, 06 Apr 2025 11:45:34 -0400
Received: from lists.gnu.org ([2001:470:142::17]:34106)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <ultrono@HIDDEN>) id 1u1SBe-000604-Ck
 for submit <at> debbugs.gnu.org; Sun, 06 Apr 2025 11:45:31 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ultrono@HIDDEN>) id 1u1SBY-0003re-IB
 for bug-gnu-emacs@HIDDEN; Sun, 06 Apr 2025 11:45:24 -0400
Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <ultrono@HIDDEN>) id 1u1SBW-0002xo-Me
 for bug-gnu-emacs@HIDDEN; Sun, 06 Apr 2025 11:45:24 -0400
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-ac2ab99e16eso678673766b.0
 for <bug-gnu-emacs@HIDDEN>; Sun, 06 Apr 2025 08:45:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1743954319; x=1744559119; darn=gnu.org;
 h=mime-version:message-id:date:subject:to:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=N+vFdE3b/K+O5HMGavmGqkPe3Aca6/PHxhH11AbDE8E=;
 b=H3A4ANIo99HJW+MdVWzxX34rV7J38ker1ab0z0rCv1Clv/C2IewCl774rO5CKWYkS6
 1kJQjLrJOs15o1zg+RTRBzQ51WGZfxPMgVllr2hnC7KjiKjhkkCMKVsNq7unuy88G6OO
 E4iKFq7quMtK7QgPbDGbZ8RSelW7sT49ou3Ass7xRQJFdEH/3XVd9m9wNbeidRc1QaND
 Uls7fNZMXjepvSVHfNQPQ8wYD6lD0J+ObVHHuX8nw3GsSpgr8IP1/KvZhlWAZkhK/uV0
 +f2q3RH4KovYKLDKRnIemayJKYxtiL7vwbwKWllFiYDzWOvobE/gJ+uCj/tQ8Y3hZism
 1khA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1743954319; x=1744559119;
 h=mime-version:message-id:date:subject:to:from:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=N+vFdE3b/K+O5HMGavmGqkPe3Aca6/PHxhH11AbDE8E=;
 b=prRflDuQWJuNAAnX6+oPPg+xl/9cAcz7hIyKh6gRd/VS5bSb4JjbS/ZUkuU0umE1PR
 g5ob0gCWhODGt+qzpRLVamPMYdCBt6r77rwyJlUirk+gWOw6dqHN5usfREURldoORhZZ
 3VDtUntGORX4spkjALhCPqVbkoIIG+v/904b8R8T0Y+FCOxAW9gQWeVYf3sKRqCOUzoD
 bR1XbUlafKTNL7YxVaAoxD1Ryf8YziQ7v8O/4oOeiTgyqZjawiqbGtVXZ81E6Rdkqxhr
 NyVZ0bIVcNiUuSH2OpDhMLj3tEnzGdT3HC4Jrqqpe4W9IdWDQXkGK7BR+1lP4hQoO0xe
 R1Pw==
X-Gm-Message-State: AOJu0YwmjKhpHFqPQP+Z2iIqfOqFvQyCNkihY9jFqyiWV7IaTkrOF0wl
 4Q3aFswT7fQe5CGbT2WpUoxH+WnQP5j6gHijQhOE6D4dybQyy7CDHoXokzpk
X-Gm-Gg: ASbGncu0HVHDKraaW2sH+w3YlbnXjkqSD5TLU4+NwJR696acip+AEJJY/urPc/NPDpA
 LqwsMmxRIi1muABUSV4WfDqte5NPZlLWKaDWYvd+LycGt6uxhozq7c/32tIPnRRHPDkzzonCr9y
 HHtaaKi9Nhd2xkCfLVlJqdjk3cNBuPAuvILtgHyU94VDYzxVsfy6WQ5I+4NlBmbLNqqU424Qi1+
 hB9dSAkkCnj84m+6rRPSQqlEmocc31SD4r3FvnW5NVA0jrJlGIjE7h1wBUWkGEQjtqYj7LMOi4T
 gCsyjyPnBKO52SMioXq8GyaMq1s7b6d5jAw66nUmb+gHnLUYiBuY3IVvaHI6lC8iu8swrcqCtXW
 wJgVlHcKChQ==
X-Google-Smtp-Source: AGHT+IGkVZsJIyaPs2RGXNE7X2vDA6F+YlYTZYUGFA88d04ArgkHsxFSnRliVdFpeQ2fRdVW0swzDA==
X-Received: by 2002:a17:906:37c6:b0:ac7:ee62:8d5 with SMTP id
 a640c23a62f3a-ac7ee6209b5mr383713966b.57.1743954318680; 
 Sun, 06 Apr 2025 08:45:18 -0700 (PDT)
Received: from localhost (0x573d6713.static.cust.fastspeed.dk. [87.61.103.19])
 by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac7bfe9aa4esm600776766b.54.2025.04.06.08.45.17
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 06 Apr 2025 08:45:18 -0700 (PDT)
From: "Paul D. Nelson" <ultrono@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: [PATCH] New command ediff-undo
Date: Sun, 06 Apr 2025 17:45:16 +0200
Message-ID: <uxsg7tfrilxpir.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=2a00:1450:4864:20::62b;
 envelope-from=ultrono@HIDDEN; helo=mail-ej1-x62b.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

--=-=-=
Content-Type: text/plain

I'd like to propose a command 'ediff-undo' that compares the current
buffer with how it would look after undo.  It supports a prefix arg (to
specify multiple undo steps) and respects the active region (to restrict
undo operations to that region).

Some less obvious situations where I've found this helpful:

- When a buffer has been modified by an external program or a
  complicated Emacs command.

- After replacing part of a buffer with text obtained externally (e.g.,
  copied from an external email client).

- For a quick recap of recent edits to a buffer or region, via something
  like C-u C-u C-u M-x ediff-undo.

The implementation is a straightforward combination of parts of
'ediff-current-file' and 'undo'.  Any feedback would be welcome.


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=0001-Add-ediff-undo-command.patch

From ede06d934751f49c958b280494cc171bd58e6f0e Mon Sep 17 00:00:00 2001
From: Paul Nelson <ultrono@HIDDEN>
Date: Sun, 6 Apr 2025 15:19:50 +0200
Subject: [PATCH] Add ediff-undo command

* lisp/vc/ediff.el (ediff-undo): New command to compare current
buffer and its undo state.
* doc/misc/ediff.texi (Major Entry Points): Document it.
---
 doc/misc/ediff.texi |  4 ++++
 etc/NEWS            |  6 ++++++
 lisp/vc/ediff.el    | 41 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 51 insertions(+)

diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi
index 73f751f3a4b..080d7e0c432 100644
--- a/doc/misc/ediff.texi
+++ b/doc/misc/ediff.texi
@@ -165,6 +165,10 @@ Major Entry Points
 Compare the buffer with its file on disk.  This function can be used as a
 safe version of @code{revert-buffer}.
 
+@item ediff-undo
+@findex ediff-undo
+Compare the buffer or region with its undo states.
+
 @item ediff-buffers
 @findex ediff-buffers
 Compare two buffers.
diff --git a/etc/NEWS b/etc/NEWS
index 35e6edcd712..261ff68605c 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1288,6 +1288,12 @@ name of the directory now reverts the Dired buffer.
 With a new value of the prefix argument (1), this command copies file
 names relative to the root directory of the current project.
 
+*** New command 'ediff-undo' to compare buffer with its undo states.
+This command compares the current buffer and how it would look if undo
+were performed.  With a prefix argument, it considers that many undo
+operations.  With an active region, it restricts to changes in that
+region.
+
 ** Grep
 
 +++
diff --git a/lisp/vc/ediff.el b/lisp/vc/ediff.el
index bc89b2025ff..2c389ca19af 100644
--- a/lisp/vc/ediff.el
+++ b/lisp/vc/ediff.el
@@ -400,6 +400,47 @@ ediff-current-file
       (funcall current-major))
     (ediff-buffers revert-buf (current-buffer) startup-hooks)))
 
+;;;###autoload
+(defun ediff-undo (&optional arg startup-hooks)
+  "Run Ediff on current buffer and its undo states.
+Compare buffer to how it would be if undo were performed.
+With prefix ARG, consider that many undo operations.
+With active region, restrict to operations in the region.
+If there is nothing to undo, then this command fails.
+
+Non-interactively, STARTUP-HOOKS is a list of functions that Emacs calls
+without arguments after setting up the Ediff buffers."
+  (interactive "p")
+  (unless (and buffer-undo-list (not (eq buffer-undo-list t)))
+    (error "Nothing to undo in the current buffer"))
+  (let* ((use-region (use-region-p))
+         (beg (and use-region (region-beginning)))
+         (end (and use-region (region-end)))
+         (arg (if (numberp arg) arg 1))
+         (orig-buf (current-buffer))
+         (current-major major-mode)
+         (undo-buf-name (concat "UNDO=" (buffer-name orig-buf)))
+         (undo-buf (get-buffer undo-buf-name)))
+    (unless (>= arg 0)
+      (error "Negative argument %d" arg))
+    (when undo-buf
+      (kill-buffer undo-buf)
+      (setq undo-buf nil))
+    (setq undo-buf (get-buffer-create undo-buf-name))
+    (with-current-buffer undo-buf
+      (insert-buffer-substring orig-buf)
+      (setq buffer-undo-list
+            (undo-copy-list (with-current-buffer orig-buf
+                              buffer-undo-list)))
+      (funcall current-major)
+      (if use-region
+          (let* ((undo-in-region t)
+                 (last-command nil)
+                 (this-command 'undo))
+            (undo-start beg end)
+            (undo-more (1+ arg)))
+        (undo arg)))
+    (ediff-buffers undo-buf orig-buf startup-hooks)))
 
 ;;;###autoload
 (defun ediff-backup (file)
-- 
2.39.3 (Apple Git-145)


--=-=-=--




Acknowledgement sent to "Paul D. Nelson" <ultrono@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#77580; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Wed, 9 Apr 2025 13:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.