GNU bug report logs - #74523
31.0.50; `apply` elements screw up undo in region

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: Stefan Monnier <monnier@HIDDEN>; dated Mon, 25 Nov 2024 06:20:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 74523) by debbugs.gnu.org; 25 Nov 2024 15:19:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 25 10:19:48 2024
Received: from localhost ([127.0.0.1]:40029 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tFasO-0004vN-Bt
	for submit <at> debbugs.gnu.org; Mon, 25 Nov 2024 10:19:48 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:28157)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1tFasM-0004v7-4G
 for 74523 <at> debbugs.gnu.org; Mon, 25 Nov 2024 10:19:47 -0500
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 2FA1B100154;
 Mon, 25 Nov 2024 10:19:39 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1732547978;
 bh=s29zm+c9PLOPHe55FHoDPviNBFTn8reSI8msh0kt074=;
 h=From:To:Subject:In-Reply-To:References:Date:From;
 b=ElCbnSvUtvv7lZUMp4O714gGbLSvM1FVFQfRDl98xT+Fo+HjwsG0Gk/f73xuOW609
 eaQeCQ1sY2E6r6cLAnqv5xQvXVmFxe/R+PETiXIHXnz1R2a3psWT5NvmmvjKedwqOc
 DVMqFskua6FbmzQ/TNbMPnTBYbkxgCRz1TCng1eTxyq1fCfXr8K94Gn3voJM9iIsff
 OMlE1dCLqrtAum0JbfOlfYmJUCsQPXW+yxG6fPVpXjnPQI6m07IqcBPnS+DthN+GRy
 DERf+5wVlkyHI/zQKteknmXsZGwEjvlX1tFMS6pFiealW6ou4pC2vfgVvr+vPU42GC
 5Q9XAj1pD+lGg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 8587C100035;
 Mon, 25 Nov 2024 10:19:38 -0500 (EST)
Received: from pastel (104-195-225-43.cpe.teksavvy.com [104.195.225.43])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 62A6E12030F;
 Mon, 25 Nov 2024 10:19:38 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: 74523 <at> debbugs.gnu.org
Subject: Re: bug#74523: 31.0.50; `apply` elements screw up undo in region
In-Reply-To: <jwv34jfon6j.fsf-monnier+@gnu.org> (Stefan Monnier's message of
 "Mon, 25 Nov 2024 01:19:43 -0500")
Message-ID: <jwvwmgrmjjf.fsf-monnier+emacs@HIDDEN>
References: <jwv34jfon6j.fsf-monnier+@gnu.org>
Date: Mon, 25 Nov 2024 10:19:36 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.001 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 74523
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: -3.3 (---)

> We currently don't support `apply` undo-elements very well (if at all)
> in the undo-in-region feature.
> Those elements used to be rare, but now that `comment-region` and other
> users of `combine-change-calls` generate them, it's not as rare.

I pushed a patch which fixes the test I sent, but `apply` elements are
still never included in undo-in-region.

Fixing that won't be easy in general: we have no way for
`undo-adjust-elt` to handle them correctly.


        Stefan





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

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


Received: (at submit) by debbugs.gnu.org; 25 Nov 2024 06:19:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 25 01:19:53 2024
Received: from localhost ([127.0.0.1]:37570 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tFSRs-0004jH-Mt
	for submit <at> debbugs.gnu.org; Mon, 25 Nov 2024 01:19:53 -0500
Received: from lists.gnu.org ([209.51.188.17]:46978)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1tFSRq-0004j7-Pm
 for submit <at> debbugs.gnu.org; Mon, 25 Nov 2024 01:19:51 -0500
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 <monnier@HIDDEN>)
 id 1tFSRq-0003VA-IW
 for bug-gnu-emacs@HIDDEN; Mon, 25 Nov 2024 01:19:50 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <monnier@HIDDEN>)
 id 1tFSRo-0001cJ-Ll
 for bug-gnu-emacs@HIDDEN; Mon, 25 Nov 2024 01:19:50 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 4BFD44409F5
 for <bug-gnu-emacs@HIDDEN>; Mon, 25 Nov 2024 01:19:45 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1732515584;
 bh=94VUKxvRL6yoKfiO+LKnY64IAGycH3mZh7zlH331LXo=;
 h=From:To:Subject:Date:From;
 b=jyuY4gF9GioetwDQql87LXVFxxMbpsKBvt5oKd1uxGELxY9o3cS98UfiAl2lXTEUj
 ipupNyHKH7Qo9ZkozLxWQ6FvztGlngPuR0RsK9iX9od4SVjc8i3SseocHAEAYgb+yc
 eat0liTTpbViNfwhGl+Mn6uPCH1Qq5J7G/iplVP2OPZKtNueBK4P6qJJgJX6AsIoHC
 0i1iPljryNDLp4Z0KzX8keFrbh3dez+qCFjT5+ia/RrDa7da0okO/+Jc34FFJMzQUt
 zhfCjFBwBO6Ki6MO8RicFEzuhz1b5oKusEaGldX2jcDNw1kS6NE9r5dij2xUvp79Mw
 YGv4UaqcvMyXA==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 571C94401E0
 for <bug-gnu-emacs@HIDDEN>; Mon, 25 Nov 2024 01:19:44 -0500 (EST)
Received: from pastel (104-195-225-43.cpe.teksavvy.com [104.195.225.43])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 3DEFF1204E2
 for <bug-gnu-emacs@HIDDEN>; Mon, 25 Nov 2024 01:19:44 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 31.0.50; `apply` elements screw up undo in region
Message-ID: <jwv34jfon6j.fsf-monnier+@gnu.org>
X-Debbugs-Cc: monnier@HIDDEN
Date: Mon, 25 Nov 2024 01:19:43 -0500
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.018 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
Received-SPF: pass client-ip=132.204.25.50;
 envelope-from=monnier@HIDDEN; helo=mailscanner.iro.umontreal.ca
X-Spam_score_int: -42
X-Spam_score: -4.3
X-Spam_bar: ----
X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3,
 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: -1.3 (-)
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: -2.3 (--)

Package: Emacs
Version: 31.0.50


We currently don't support `apply` undo-elements very well (if at all)
in the undo-in-region feature.
Those elements used to be rare, but now that `comment-region` and other
users of `combine-change-calls` generate them, it's not as rare.

The following test fails because of that:

    (ert-deftest simple-tests--undo-apply ()
      (with-temp-buffer
        (modula-2-mode) ;; A simple mode with non-LF terminated comments.
        (buffer-enable-undo)
        (insert "foo\n\n")
        (let ((midbeg (point-marker))
              (_ (insert "midmid"))
              (midend (point-marker)))
          (insert "\n\nbar")
          (undo-boundary)
          (goto-char (+ midbeg 3))
          (insert "\n")
          (undo-boundary)
          (comment-region (point-min) midbeg)
          (undo-boundary)
          (comment-region midend (point-max))
          (undo-boundary)
          (progn
            (goto-char midbeg)
            (set-mark midend)
            (setq last-command 'something-else) ;Not `undo', so we start a new run.
            (undo '(4))
            (should (equal (buffer-substring midbeg midend) "midmid")))
          )))

- Stefan





Acknowledgement sent to Stefan Monnier <monnier@HIDDEN>:
New bug report received and forwarded. Copy sent to monnier@HIDDEN, bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to monnier@HIDDEN, bug-gnu-emacs@HIDDEN:
bug#74523; 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: Sun, 12 Jan 2025 05:45:02 UTC

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