From unknown Tue Jun 17 20:21:10 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#33341 <33341@debbugs.gnu.org> To: bug#33341 <33341@debbugs.gnu.org> Subject: Status: 27.0.50; Undo log merging and change groups Reply-To: bug#33341 <33341@debbugs.gnu.org> Date: Wed, 18 Jun 2025 03:21:10 +0000 retitle 33341 27.0.50; Undo log merging and change groups reassign 33341 emacs submitter 33341 Michael Heerdegen severity 33341 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 11 02:51:08 2018 Received: (at submit) by debbugs.gnu.org; 11 Nov 2018 07:51:08 +0000 Received: from localhost ([127.0.0.1]:45258 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gLkWS-0004Ga-80 for submit@debbugs.gnu.org; Sun, 11 Nov 2018 02:51:08 -0500 Received: from eggs.gnu.org ([208.118.235.92]:32820) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gLkWQ-0004G7-Gc for submit@debbugs.gnu.org; Sun, 11 Nov 2018 02:51:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gLkWI-0002Ak-CW for submit@debbugs.gnu.org; Sun, 11 Nov 2018 02:50:59 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:40502) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gLkWG-00021l-JQ for submit@debbugs.gnu.org; Sun, 11 Nov 2018 02:50:58 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42424) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gLkWF-0008IN-EO for bug-gnu-emacs@gnu.org; Sun, 11 Nov 2018 02:50:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gLkWC-0001hu-8w for bug-gnu-emacs@gnu.org; Sun, 11 Nov 2018 02:50:55 -0500 Received: from mout.web.de ([212.227.15.4]:43277) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gLkWB-0001c3-Sz for bug-gnu-emacs@gnu.org; Sun, 11 Nov 2018 02:50:52 -0500 Received: from drachen.dragon ([94.218.210.177]) by smtp.web.de (mrweb002 [213.165.67.108]) with ESMTPSA (Nemesis) id 0LhvYQ-1fhTp10EQk-00n5Z5; Sun, 11 Nov 2018 08:50:45 +0100 From: Michael Heerdegen To: bug-gnu-emacs@gnu.org Subject: 27.0.50; Undo log merging and change groups Date: Sun, 11 Nov 2018 08:50:43 +0100 Message-ID: <877ehk3ve4.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:uyiAsJ0PIa9dwunu4tf4X+G2//qAbaOed4nRL6pPc6GvHKMGcwX tTIxj5pxArbufh1eUnK87ykja2SLSADjAyEZgX8lRn9b6TOn8/tHZK6ho0wTmUAc96+ZKat +eOZQPuhAv90GEiKwPt+lTi/XJHK8UpOSNrb0+4v1lQ73zOPKusuUxwSx0hx+3oydEXQVJz hW6QZpBII9qQ0zQ1WPu8w== X-UI-Out-Filterresults: notjunk:1;V01:K0:xyIcJwCjVRA=:1S7tP567defIR7fYnGV/uQ tkP08MVtCofvD56nOHeipY3TFn1lJnjJcp2DYUR9xlGVXIuOvg5kf3/rToDeUDqS+C7BREWvJ ST08t/lTfGpWVuHrMuJkW/3tRkqPyXl0+IsARMeCj2VFpvg2EoVXC/m9wndPFTrPrWRexipPi HwA57hokG+B2oY3buf2zed9RIAubbLMCKcdMAbiZGKy4BLGiKldhjFF3RVR0WW08C+LBbcAaS LwmHkDR/AK5WQxUB/RWok8M5JloPEwqcS45iqIWPxAx0+l2ufQjmJq75T/DMXPZ2j9ehMf9HW 6Kownu9DSztqmGPd+vXj/+MjUfiN6A+/YcG2GjR8msKqyv1pSpYTtjgfkq89gNJuqt0iQf07A DwyNDcy7O9+2qMMtYW0vVCSBzH9PdDRwv0r32K9Yg+ICJCrLeZr/FWl3uSSV2/FhIKIPrQi+B lADOjntR5dyEaieBlzqq0TNR4b+q2J0fujJX3byv8KdF+ALeJ0fvcRs4PIn1efbguLevaIboE nE5R/eGZdSgu+YwzE5RKHAopGAcPtOPLvfKw6heUsIKbtdSgaCum0LsGcEwjWJ068+VZsf20A UYZWJUc5Atf6220NR4L79dN7Yn/px3Qi3PQRX/wNVLX2FDDGZsfaNrgZYmoYGkteEF9agCN8x MUUHIbP9Ay7ou1usf2pPKaJDWz2JTY71/2X7dhPbA7r3OUWdmdqZt/SlTJUw6cOeZNIUcOezk vZXtsQTF6VEOtc92I1TAvHrd9n5yu9cCMWgxNm8f3OjbOLHMchyaQenLEyaeBdoD8yLHnsTbc h90nnmdl27PYO3eDRAncKDyQs25n8KHb+sQ8hCOK2IBNTpV+HT+TscaPJuHA/pnFhBKeo7F6J 4FMGedJ0ON9bV+5ySYPdzVpFFO9bnahNfnSRUAbXYShAdv6QkzgeTQgqOYdKgwBQvxni9M1cG WpqJST/xIQA== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: submit Cc: Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.1 (-----) Hello, I have been playing with the undo change group functions. I found `cancel-change-group' does not always work as expected. For example, if you define (defun my-test-change-groups () (interactive) (insert "0\n") (let ((g (prepare-change-group))) (activate-change-group g) (insert "b\n") (insert "c\n") (cancel-change-group g))) and call that command in some random buffer, the final `cancel-change-group' has no effect (i.e. nothing is reverted). In other, similar examples, `cancel-change-group' seems to revert more than it should. To cite (CC'd) Stefan's remark in emacs-help, "the undo entries for (insert "0\n"), (insert "b\n"), and (insert "c\n") are merged into a single entry in the undo log (as a form of optimization). The change-group code should prevent such a merge, e.g. by adding some dummy undo element which will work like a "fence"". Thanks, Michael. In GNU Emacs 27.0.50 (build 8, x86_64-pc-linux-gnu, GTK+ Version 3.24.1) of 2018-11-11 built on drachen Repository revision: c1095b03a933d55fe1cd357881f1ca6e16e06362 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12003000 System Description: Debian GNU/Linux buster/sid From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 26 07:34:53 2020 Received: (at 33341) by debbugs.gnu.org; 26 Nov 2020 12:34:53 +0000 Received: from localhost ([127.0.0.1]:39988 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiGU9-0001F1-Ik for submit@debbugs.gnu.org; Thu, 26 Nov 2020 07:34:53 -0500 Received: from quimby.gnus.org ([95.216.78.240]:49770) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiGU8-0001Em-1S for 33341@debbugs.gnu.org; Thu, 26 Nov 2020 07:34:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=xkSCSaDWbYaR9RlCEslYob0X7sLpXvosm0ArlbWoY3c=; b=htsXKiELBy9nUK1hYDWc3okahn 4fMRVLKYFPd6gblyZ4Gts+wnhRyq0MwMNhHGCmI6A1tEB3CuRFr+fI+UOqPMDRSU41CUFfaAr5nGj Xw5MCR0mZu++3/AXb8h9T3nT5BH5miK57KRCH619j5ib+7BpINWqTLbJwKooufQL4ar8=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kiGTx-0001Fd-SX; Thu, 26 Nov 2020 13:34:44 +0100 From: Lars Ingebrigtsen To: Michael Heerdegen Subject: Re: bug#33341: 27.0.50; Undo log merging and change groups References: <877ehk3ve4.fsf@web.de> X-Now-Playing: Simple Minds's _Sons and Fascination_: "This Earth That You Walk Upon" Date: Thu, 26 Nov 2020 13:34:40 +0100 In-Reply-To: <877ehk3ve4.fsf@web.de> (Michael Heerdegen's message of "Sun, 11 Nov 2018 08:50:43 +0100") Message-ID: <87blfkthy7.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Michael Heerdegen writes: > I have been playing with the undo change group functions. I found > `cancel-change-group' does not always work as expected. For example, if > you define > > (defun my-test-change-groups () > (intera [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 33341 Cc: Stefan Monnier , 33341@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Michael Heerdegen writes: > I have been playing with the undo change group functions. I found > `cancel-change-group' does not always work as expected. For example, if > you define > > (defun my-test-change-groups () > (interactive) > (insert "0\n") > (let ((g (prepare-change-group))) > (activate-change-group g) > (insert "b\n") > (insert "c\n") > (cancel-change-group g))) > > and call that command in some random buffer, the final > `cancel-change-group' has no effect (i.e. nothing is reverted). In > other, similar examples, `cancel-change-group' seems to revert more than > it should. Hm... Well, after running this command, hitting "undo" removes all the three lines, which is what I'd expect? Since you cancelled the change group? Or... Hm. Well, calling accept-change-group has exactly the same effect, so it seems like I'm misunderstanding how this is supposed to work. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 26 09:17:13 2020 Received: (at 33341) by debbugs.gnu.org; 26 Nov 2020 14:17:13 +0000 Received: from localhost ([127.0.0.1]:40393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiI5A-0007m3-Pl for submit@debbugs.gnu.org; Thu, 26 Nov 2020 09:17:13 -0500 Received: from mout.web.de ([217.72.192.78]:49359) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiI59-0007ha-Et for 33341@debbugs.gnu.org; Thu, 26 Nov 2020 09:17:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1606400221; bh=wnhA0/0PUf4jLzw4s7GPJt3sQ2FhIbfuQSCCYaCZ6k4=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=LpQ5GmIh5xPZx5Wr7km68MQuDXQ8KBrvY2xF82ImQ+jJEdFfif6qJvp/PSb9xgSuc imb/BbV3bjnvxIt3/OCczh+6cLsYLhyrHpVyL1DKDhIk1BTBvvhuTzBWH6GUITmM5c 9FH7+JUX4sifsaLfPyyO++ttM+VvwaqaeHTKAYcE= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([94.218.219.247]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MAvKi-1kYMSe3E04-009vWE; Thu, 26 Nov 2020 15:17:01 +0100 From: Michael Heerdegen To: Lars Ingebrigtsen Subject: Re: bug#33341: 27.0.50; Undo log merging and change groups References: <877ehk3ve4.fsf@web.de> <87blfkthy7.fsf@gnus.org> Date: Thu, 26 Nov 2020 15:16:59 +0100 In-Reply-To: <87blfkthy7.fsf@gnus.org> (Lars Ingebrigtsen's message of "Thu, 26 Nov 2020 13:34:40 +0100") Message-ID: <87zh3442zo.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:H6TbhjXWjfeH1TOMlHZFbI0vmqwo+rI+3quvDvABVkIOX43rLGF h48gOR9u99rzllS8kI3YhX28KpFrcdKLdrwLkcyJ5g0utiXHC2I7WF832OpSe5/pWBnkJA9 GkyVS5BdaSindqJHMnidAZVUmPPRyhMUiorQybvs326iC3VM5+rxYAlyRLTV9g7perJxCyB 8d6UOUAZiJLZPIO+NvYcw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:2eWixwx1JdM=:S5XyBFsVDsozFdkMyLGElR RUYkP75uGnV/heXuta1I6cYLRKvm1jSlUm9tvAh6oMBvNnuBHUkTiLQA0e0V19KbViO9drzHK E22LNethKRy1zU40GJoZ1ft26HFJlJxsJIOKfcfrnt+7q5sunO0T70ykfyZjdcKDo17qQTgmL EHPvJtHmYpRZex9y7gCJqF5Kv8bmDtdfvLR3KBJPAEA5pIttuZp5HX8G6p49+yqbqcpbcMfHI DiGfcp25FXfq54VlYGxz9I3y2c/+PKacES8kXV/1lobR8mS2hXDSaL/N/M061Qb9fGmR1oOSE bOO78pzqeXWzCzwCN9jHx63v4ROOqwxuFw6kWyiYSK26zB2BjAuaSCqGU8d101q7hVoKK11Nk MSGQsmtdXaN9LS8XNr6FTXqwAoZZg3ADsXWsiy35dVw+IxaDYqpfXI64/NiQMuBDC2VK8uGSl HFNtkpM8LZ3/yxLZHlGTAa2DzoWvNb2r3dX+RbYsdhDVBQD8X62ts+tKvrljieyI1+ogV5L7d vjjMDPwGLRFCqGlfMqtWeywp+1aoWTVPunI5nSad4lWEwfiyojtqsBp8yNWZaui8/8Uf1mhsJ 4KLbgYmQnyKSvCd6h6W9VV3f7L9wg2M7uBGFQkj/myNXqiL9iTYtBWHZhIGFTcto7yrylG4Mk FUXE1RpIIO2o+3gOvpXzbyZKXxr5XLxJhMJTq+Mq9PhZtYoLbmQUoZERpYUFSWwk9SVYgemJU Kn2yyDfCEGKQ7IcF/Q01GQcHO5KId4hWfbH+QH0TrmQJmN5WcDK5lE0LUcD2XDU37qTTTNDje cbbT4Gbg0fO5aoEJPbVuChO6MvVpff8nmYVUFsfVoR5XEy2IzVrwH4MNCI0sQJzUsbw1Lp7L8 o5Vp3ev01vLTkYfZGkFwGXm98vQugToVzDVV0EDhA= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 33341 Cc: Stefan Monnier , 33341@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Lars Ingebrigtsen writes: > Hm... Well, after running this command, hitting "undo" removes all the > three lines, which is what I'd expect? Since you cancelled the change > group? AFAIU `cancel-change-group' itself should undo the change set, without the user invoking `undo'. See the implementation of `atomic-change-group' for a use of this feature. Michael. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 26 09:49:44 2020 Received: (at 33341) by debbugs.gnu.org; 26 Nov 2020 14:49:44 +0000 Received: from localhost ([127.0.0.1]:40485 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiIad-0000VG-Q2 for submit@debbugs.gnu.org; Thu, 26 Nov 2020 09:49:43 -0500 Received: from mout.web.de ([212.227.17.12]:52301) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiIaa-0000V1-W8 for 33341@debbugs.gnu.org; Thu, 26 Nov 2020 09:49:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1606402171; bh=X/Ejf7Ty5JlOLIDzS2ySpXAVqSTOaqyb3r1pVJWoLRU=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=K0W8IY5Us6eVi+OtOa5xjETb9Yp4ehn+zIfW6xftscuGpXtDLFPmJO//OfjFFDoDW V3hg+XzDF32ZX9lzk0Uzsa2FnGs+2zM/RBACPavmHDDUQEbwYNAiKGdLbQPtAKLPjV rvYP/de4yvmywcR6o9JRuHpxnL11xdYO7cmxVCK0= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([94.218.219.247]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0LuuNx-1kHSGI0tKj-0106uM; Thu, 26 Nov 2020 15:49:31 +0100 From: Michael Heerdegen To: Lars Ingebrigtsen Subject: Re: bug#33341: 27.0.50; Undo log merging and change groups References: <877ehk3ve4.fsf@web.de> <87blfkthy7.fsf@gnus.org> <87zh3442zo.fsf@web.de> Date: Thu, 26 Nov 2020 15:49:29 +0100 In-Reply-To: <87zh3442zo.fsf@web.de> (Michael Heerdegen's message of "Thu, 26 Nov 2020 15:16:59 +0100") Message-ID: <87o8jkgoli.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:MCum+x1mMcyBavJheee3Aw9MEs6fffEBJMTicii5ERh5elmHFO2 DAvrWKiorg9AQQRUWTRdKFHcyl87NdDPlJpJucPFiWr1Co+ssQJiImpu+w7NVYsLfXURRYz VFl0u0CcXVdhrUDG+rBxilRFVYofJEcv9moLBfFGq6csTi5K4lz4i4VVpjBQexA3HPh+x46 UBLbt+Snfg1PttdNOzxvQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:4tZ7OrC619s=:2N2BADsrAOnJV9W0XwkH50 udVtPGxuXWyigoeaMnEqGRvCz6poMcrGSSwciE4+vQki8nwM2mpz2LiCLg4of/TqU878w4Mt8 56fZSRP4mgv2rhXUvGASKoQedTw6i4lpcQQS6EbABqorTj/ryubDu73wa/PSVfxFqxoltYP+Y rcYmFsbse31tiMObNGDwsD50bLiEHsqywEF0oFbYiMwFZjoplqtXes1YohVszz1iQdlF3ub99 43eyUFMKi7KBALJeGJwufN/fRbeWKHMOu1fL4LBBuVDC4Ujos/ugSlHjQ8dXS+JgvqmK036tj SX7z9Zu0ZzM6M5+y21jD9d/GzGpxSi6Fu2/q+peGwPWp/h3tzktD830zPx8I6TCkYIh3NqbBr HDl3mbmIYzbrjO36G+Z7OekF9q/pSNb3yXCXLhdY1t9i+RrCQcaTxJmNoHDCmuzc5DJPb4Pid 4V0tfxAW67CHlyiOHSZ2BlOXirmgI+ZL2wMIH2kubT4AD5DdY3F0kUU0eAFXpaHzH3gbvRmVn lysH50gGjl/k/PIT2RYedRXrgk0QwurfhKyS70rqDFGhoQ1Am0veO8i0yQn1ashlxYoZ3NwD0 rpT+ahNGeQsCiLaDrbGDEOV50816g6TYaBCnYNXXFuDQU90BV8SEs3xqhGEPPQh0DMW5NBmsO t9g/egJMxYAGsATJ0WOGYuN0oCcvsBfApfp79Mgshn05YgjB41PJvBdk4M/qR27Unx1T6oVCG 3B2fneawMXBeq1QrBNcQaDdsiPUgyKz1HgM52bbJlTN9Tc5zqTSV3OcE4Nv4Sys4ykvwI7dpx EX+FteFGaaM9ojxHGokSDN001ETQlbjBxNFMXpIYM/WE/9H30Jf8dh+iuXETEzDtimhOGEvrn /Rx+l7BEGaTUTJoS3xKFSvZL85sgAf8yHyROJJGeo= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 33341 Cc: Stefan Monnier , 33341@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Michael Heerdegen writes: > Lars Ingebrigtsen writes: > > > Hm... Well, after running this command, hitting "undo" removes all the > > three lines, which is what I'd expect? Since you cancelled the change > > group? > > AFAIU `cancel-change-group' itself should undo the change set, without > the user invoking `undo'. See the implementation of > `atomic-change-group' for a use of this feature. BTW, coming back to my example: #+begin_src emacs-lisp (defun my-test-change-groups () (interactive) (insert "0\n") ;; try to comment this line (let ((g (prepare-change-group))) (activate-change-group g) (insert "b\n") (insert "c\n") (cancel-change-group g))) #+end_src if you comment the line including the `insert' call before the change group is prepared the thing works as expected. So there is a problem with this insertion (in the same command?) before preparing the group, or this is actually not allowed but not documented accordingly. Michael. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 26 15:26:17 2020 Received: (at 33341) by debbugs.gnu.org; 26 Nov 2020 20:26:17 +0000 Received: from localhost ([127.0.0.1]:43003 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiNqL-0005EM-0c for submit@debbugs.gnu.org; Thu, 26 Nov 2020 15:26:17 -0500 Received: from mout.web.de ([217.72.192.78]:36281) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiNqI-0005E7-Ui for 33341@debbugs.gnu.org; Thu, 26 Nov 2020 15:26:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1606422365; bh=PwIeF8cbHWIx3pz4YFUjsk8rYIfs00SQqrixwHL+z5U=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=Gik77IPh+QhQ51JIKLRTFrH7N8IKhLVqg8FmbKHFXekH/3GboQqeMsnc2CWbaR6fl kdD4MHo14yKKDtiCOL2+jVAiHFdcngB93+ap1gr/0A2B7pHI9+RWVEpmuA1MGCdttF a4R9AH5BneoldC51cpiowp/fceeQY8M4kGk56B/w= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([94.218.219.247]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MXXRF-1kiDEg2IHf-00Yqhi; Thu, 26 Nov 2020 21:26:05 +0100 From: Michael Heerdegen To: Lars Ingebrigtsen Subject: Re: bug#33341: 27.0.50; Undo log merging and change groups References: <877ehk3ve4.fsf@web.de> <87blfkthy7.fsf@gnus.org> <87zh3442zo.fsf@web.de> <87o8jkgoli.fsf@web.de> Date: Thu, 26 Nov 2020 21:26:03 +0100 In-Reply-To: <87o8jkgoli.fsf@web.de> (Michael Heerdegen's message of "Thu, 26 Nov 2020 15:49:29 +0100") Message-ID: <878sang90k.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:SpN4A7RYO9iD0oqCY/b1bMACnDgXDVO6gWjjlwIv64/8NpgeWJ0 X5GXLJGbr9YFv4uFFRE7Nqlyacm2lwCKF+6QB0gKcjIZqpN3STxvFD+UbqJbkuW4fZ/AR6x ZN+tr/Nt5IUkpS7KMHfR0LNZYua4dj6LnrpHHeunGvCMF/IQyFhFM9VzKzMuqL6jRnE2y8C o6Gf3c8XAm9IxR1RgzzLw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:5OBr8JhwiuU=:0YEHeUt+HQpsqkzTgMT9+s BYX01bEeCr1ttv+YMOvZ0B5KG09soIfMirQB+ZvB/xHG+PYEcGk8n+wSKKjW48ZXIXVaMcNO+ vzuVkGuYFDL30pxr4h2CMWVJd8GYbKH4o1gBHBrePkNP3xzuOknElB5MHxygC46m8AdvOVetV wj5kVRkMijKjeRZkVfPQZOAhiOGbQf4MCA6VxjUrlJwyc/T+p0eb5CxinUBnmFw5aEp+u8aNi pK2hb0ewrYQLdXFs6/QPOMyXjagAfwqvcVhkT/DGKcA+KOZZg73d3I/kbjPi7lIkwjrjtDNJo 4VqSxvpQAwpUNAYfW4gLBL9eqnkli6RK8Srs3RKvGtxLjmE7GrJWWc4zlwgMbsUJVUL3P2P8k vspxJtj2umGbu3TMuKRfLnKHB17u6Rc/YfCN5NK7/Osi7QeO3TiKeQVl+8SqkGU0wLWo1yNWx m2Zl9IBzv5t12OrqFxgNWnSxh8RU52qm7YN9UO7+vzefR99b7ad7tyZPZNj4JJlzaibO1jOM2 BYfXCHVxwG9hBbOHRuNIxLWYYIyu6ugbJvInpZrKeoYVx33GrfPRmCNQW6MsMO8ZLwdABuEIN Mj78vKa6GTUv1T56v8F6rrTs4fQpqO8PNiICAJSFqzZBZtR/fyR6NA4R1zije0iuZ2kQ9u8YC oTCZcoqzRludbXpLTUTkcSJthe+88lVGtggufkVuHqiQwsCaeneA7zR4crec7JWNOHiRA5Toa 5zW9Mmn9JoJpT6BuBqnoPJievKWgIhvH3ngpZlkx5XT5HXIowOklWiQKmIUhi90VnIGibSatI qfZYu7CzsIBB9YZDINuDEInBp0g0gvVadi46SfynuGsQSXMKPQB9T8g85nwIRUM4Ye0N67A63 qPEbYNrMuXCMq0mF/tjJbgWNnG9Yg2Pahh9FN72hw= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 33341 Cc: Stefan Monnier , 33341@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Michael Heerdegen writes: #+begin_src emacs-lisp (defun my-test-change-groups () (interactive) (insert "0\n") (let ((g (prepare-change-group))) (activate-change-group g) (insert "b\n") (insert "c\n") (cancel-change-group g))) #+end_src Adding an explicit `undo-boundary' call before preparing the change group fixes the problem for me. Should `prepare-change-group' do something like that implicitly? Michael. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 26 15:55:54 2020 Received: (at 33341) by debbugs.gnu.org; 26 Nov 2020 20:55:54 +0000 Received: from localhost ([127.0.0.1]:43047 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiOJ0-0005ws-7V for submit@debbugs.gnu.org; Thu, 26 Nov 2020 15:55:54 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:7751) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiOIw-0005wd-WE for 33341@debbugs.gnu.org; Thu, 26 Nov 2020 15:55:52 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 2BC2C440760; Thu, 26 Nov 2020 15:55:45 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id C39C3440772; Thu, 26 Nov 2020 15:55:43 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1606424143; bh=p+fllB6s4XvM9ViTFPiee+JwTuJyrMbeeKEgn/bRK4M=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=TsfvDIzib+SJZlgiNLT3/VaQHwY5GnJJuvmzGubSAxJAhMfa6Ov1K/Rq6QwrPLenI O/DHBQUN8w7mK+T/80c/DzPj50DA0Y232E17v71Qn2CmTJv8Gt9nTIheCXoncqHBwr scKGjur0jMSXsSsEmYfrsaa/4qD7pLGIITXfSs2z+zb76RI3P9Hlgb9dIgT/dERM9c i4Kbph29HL+tm4gmUW0DsfuSYnrMUxbN+cx6IvjCRfb6xGcPtkwDFvo9se62gJhQ+r 1SHv7TgcCVttCT2TVR5bNSK3yJiRj7+GJW/gNcIgwvgQMZSpbznqiRO9LT0I80nrvz nTDhSXrI5qDcg== Received: from alfajor (69-165-136-52.dsl.teksavvy.com [69.165.136.52]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 8D6A012033B; Thu, 26 Nov 2020 15:55:43 -0500 (EST) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#33341: 27.0.50; Undo log merging and change groups Message-ID: References: <877ehk3ve4.fsf@web.de> <87blfkthy7.fsf@gnus.org> <87zh3442zo.fsf@web.de> <87o8jkgoli.fsf@web.de> <878sang90k.fsf@web.de> Date: Thu, 26 Nov 2020 15:55:42 -0500 In-Reply-To: <878sang90k.fsf@web.de> (Michael Heerdegen's message of "Thu, 26 Nov 2020 21:26:03 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) 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.075 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 X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 33341 Cc: Lars Ingebrigtsen , 33341@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Adding an explicit `undo-boundary' call before preparing the change > group fixes the problem for me. Should `prepare-change-group' do > something like that implicitly? Not if it should do it, but at least it should work correctly if it's not done already. Could you check why it breaks in the absence of an undo-boundary? Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 26 20:11:39 2020 Received: (at 33341) by debbugs.gnu.org; 27 Nov 2020 01:11:39 +0000 Received: from localhost ([127.0.0.1]:43307 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiSIU-0005su-SK for submit@debbugs.gnu.org; Thu, 26 Nov 2020 20:11:39 -0500 Received: from mout.web.de ([212.227.15.3]:52747) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiSIR-0005se-BC for 33341@debbugs.gnu.org; Thu, 26 Nov 2020 20:11:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1606439485; bh=EkbJSGBX/r5Iy894a/6y2x3bTtl+3d1PTxoPIHWiFFA=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=dEA4r1JVU3Tuvw/st7dcKEbsoXaJLeBXTwHsNX9J4WzEsGf1l3oNRDOotmBRpUSCh SQMpxf4bxU3BJiPg5UCnXioJYOI40yVxIijsVlTZ4vbPnTNLHRD1vluT8DLT76xUBt Y02ua3c4vKzttpui4dmwN51i9DBBM4weQtE7rXCo= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([94.218.219.247]) by smtp.web.de (mrweb002 [213.165.67.108]) with ESMTPSA (Nemesis) id 0MIvFp-1kkwKa2PFJ-002WLZ; Fri, 27 Nov 2020 02:11:25 +0100 From: Michael Heerdegen To: Stefan Monnier Subject: Re: bug#33341: 27.0.50; Undo log merging and change groups References: <877ehk3ve4.fsf@web.de> <87blfkthy7.fsf@gnus.org> <87zh3442zo.fsf@web.de> <87o8jkgoli.fsf@web.de> <878sang90k.fsf@web.de> Date: Fri, 27 Nov 2020 02:11:23 +0100 In-Reply-To: (Stefan Monnier's message of "Thu, 26 Nov 2020 15:55:42 -0500") Message-ID: <87im9r38p0.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:W7eu36gyu/Htk1yrGBxLMYpxKGadq8F0uv4pHAINzdGg9irGkrk H36qtgncXu7lGwOzRI+MFN1Z46UfE9dxRZPmPtITe50Vyx/WOGFGR5d9kmstiOvuY2aFSRS 2d0ujq/bvGooCyovCPVZ9BYctHIHapV3WXQQccoNQWD0ETi2WOw1eu2PzSX42iUC0zxWLpx /e97Z18kPq20xkOHPkFdw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:u7Ps1YzachI=:DdTtyFT2IiBmI+lOknU0tC 2fNnO0kDqIp410vTy6ueT8xVgJGuRIxqVWbud/YKp2S94A0wRopqMM8Aciv0xhJMdN8qhvjtX mbxkw5iWVRcokjSZE6N//OtrTEKEc1EH8KsSyrTOeHFib3LUB4mlU2qom1judpkBvM9qxKLnO ZISJMYTlZaI9gok9qdjPuqFz7+hzgY6Ou6YWZDiQfcILkNQQROrBDDfDsrSeK8cGf99MTyEMk fS6//omj0DuSzN6kvEdSRf1/1S52uUsq0FNXuRLkNJa3o5BmYxehnqYTVrEDjixQopQYvVhSU RKFtxxUecBFG6iGEL47rtuKwQaZNuhzsySUXSlAVArzhBC1/CtxhBWUSgTYQjv1583O907tT8 qK+cExaZ1mB7/OrAbsVWzvqz1H6XrCCwaqh/dkPNBFkN72GJaSEVKKv3nuzeLdJcSToP6IwX/ H5mK8sNkkR57Q4dQkiAOd82ORBbQse2pennSJTvL3H/bOkmrXs8cV74jv+UfZz0aKXSsGN+ko BHfOIs3G+RfSrKssEB8Qn0HqR0Ksm+ejFSxZImz46bcpkKSdJRPdLEVOBDzZR5NXxhMxwXyR7 NV3h2WQ3NpcCuBXOhyK02zcT44t4SMGxAW/FEO4UuWy9BqBqyg0+u2M7Sg50RjbQ3lk11seGD BDaeZRSd6k75PZbwfcnUe1PepLxS238ed2qi6TF4AO9bINXvdoeXPi20eocbA+q5TMpNFWzaz iC7Iu71ZkC0lzkCPQQeacnPe1sS6Em1slTwWsnPvKdEZc2B7WzrB1UxYmqiFsnEqnAMVNTkdc Zm5SU3CcAlmrX2yN8omye8Ol3U4uJiVSLc2O6oSehH+0uElONgXff72AFEaUtKnl7pCgizDGX ZiGt+aVacWxvCUlx6JufEABmYse/GPpfIOg14LM5Q= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 33341 Cc: Lars Ingebrigtsen , 33341@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Stefan Monnier writes: > Could you check why it breaks in the absence of an undo-boundary? I have edebugged `org-entry-get'. Short version: it is as it seems. Here is the example again: #+begin_src emacs-lisp (defun my-test-change-groups () (interactive) (insert "0\n") ;; (undo-boundary) (let ((g (prepare-change-group))) (activate-change-group g) (insert "b\n") (insert "c\n") (cancel-change-group g))) #+end_src Without the boundary, all changes are combined into one (1 . 10) undo entry. And then these code lines #+begin_src emacs-lisp ;; Temporarily truncate the undo log at ELT. (when (consp elt) (setcar elt nil) (setcdr elt nil)) #+end_src cause that were the undo should happen: #+begin_src emacs-lisp ;; Undo it all. (save-excursion (while (listp pending-undo-list) (undo-more 1))) #+end_src nothing is undone. With the boundary, we have two undo entries, and the truncated log still contains the entry for the first `insert' call. Regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 27 09:44:46 2020 Received: (at 33341) by debbugs.gnu.org; 27 Nov 2020 14:44:46 +0000 Received: from localhost ([127.0.0.1]:44349 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiezI-0003BB-0L for submit@debbugs.gnu.org; Fri, 27 Nov 2020 09:44:46 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:56183) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiezD-0003Ar-SG for 33341@debbugs.gnu.org; Fri, 27 Nov 2020 09:44:39 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 6BC7E100279; Fri, 27 Nov 2020 09:44:30 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 8E5D310023D; Fri, 27 Nov 2020 09:44:28 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1606488268; bh=KAA32g8x/tDo3CbYMKo24ulS8RPHgpbjzUrkEq/zN0o=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=H3o1SQ+/W3EEUnUmhMdb5ZwkHJtQtJEwRP6ODZ/I2HM3wvbaBn7NBk8A38hVoGN03 CBhPH6wuejLZ8Ff4sXML0nyTGfjra4lhYTD3CGDxxKJH0io2auH9bwC8S/sTgQtSpG VrPHeLgcwwr2hu/P3h4BXHzAoo/oqMFexPx11rgtDdOYOBu1fwyHWY2f6T71J2cpcE sSzETJWzAPf89wSut6x+BWDxnYrKGppLUezUKZLw7fUg50I3YStRyQuYx0FdC+Jq+r EUD0whlTZWEPNc8wfWn2m7lTNM+o4UqAr5qRNliBiZ0yv8Q6ArYut2gyTUjFMzexwx JdAI0Xin8B3AQ== Received: from alfajor (69-165-136-52.dsl.teksavvy.com [69.165.136.52]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 502111203D8; Fri, 27 Nov 2020 09:44:28 -0500 (EST) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#33341: 27.0.50; Undo log merging and change groups Message-ID: References: <877ehk3ve4.fsf@web.de> <87blfkthy7.fsf@gnus.org> <87zh3442zo.fsf@web.de> <87o8jkgoli.fsf@web.de> <878sang90k.fsf@web.de> <87im9r38p0.fsf@web.de> Date: Fri, 27 Nov 2020 09:44:27 -0500 In-Reply-To: <87im9r38p0.fsf@web.de> (Michael Heerdegen's message of "Fri, 27 Nov 2020 02:11:23 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) 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.083 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 X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 33341 Cc: Lars Ingebrigtsen , 33341@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > (defun my-test-change-groups () > (interactive) > (insert "0\n") > ;; (undo-boundary) > (let ((g (prepare-change-group))) > (activate-change-group g) > (insert "b\n") > (insert "c\n") > (cancel-change-group g))) I see it's a bug indeed: the problem is that `insert` optimizes the undo entries by reusing a previous undo entry is that was a consecutive insertion, so when you get to `cancel-change-group` the `buffer-undo-list` only has a single entry that represent the combination of all 3 insertions. I just pushed the patch below which should fix it. Stefan diff --git a/lisp/subr.el b/lisp/subr.el index e009dcc2b9..1cf3a49fe4 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -3036,7 +3036,10 @@ activate-change-group (dolist (elt handle) (with-current-buffer (car elt) (if (eq buffer-undo-list t) - (setq buffer-undo-list nil))))) + (setq buffer-undo-list nil) + ;; Add a boundary to make sure the upcoming changes won't be + ;; merged with any previous changes (bug#33341). + (undo-boundary))))) (defun accept-change-group (handle) "Finish a change group made with `prepare-change-group' (which see). diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.el index 67f7fc9749..e3f798d11c 100644 --- a/test/lisp/subr-tests.el +++ b/test/lisp/subr-tests.el @@ -551,5 +551,17 @@ subr-replace-regexp-in-string (should (equal (replace-regexp-in-string "\\`\\|x" "z" "--xx--") "z--zz--"))) +(ert-deftest subr-tests--change-group-33341 () + (with-temp-buffer + (buffer-enable-undo) + (insert "0\n") + ;; (undo-boundary) + (let ((g (prepare-change-group))) + (activate-change-group g) + (insert "b\n") + (insert "c\n") + (cancel-change-group g)) + (should (equal (buffer-string) "0\n")))) + (provide 'subr-tests) ;;; subr-tests.el ends here From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 27 12:43:22 2020 Received: (at 33341-done) by debbugs.gnu.org; 27 Nov 2020 17:43:22 +0000 Received: from localhost ([127.0.0.1]:46134 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kihmE-0007uA-BI for submit@debbugs.gnu.org; Fri, 27 Nov 2020 12:43:22 -0500 Received: from mout.web.de ([212.227.15.3]:37647) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kihmC-0007ty-By for 33341-done@debbugs.gnu.org; Fri, 27 Nov 2020 12:43:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1606498991; bh=3VQ4ybR/PAQr/Dy8V35ZtPkvS2awpReB7VQCZJLSTxU=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=Al2nnJAx+KM81S504Uv3B0kKVxOAGyD5L+VguP3xIRgz/CP3/i2Xh53RmlsavH4V5 Gc2U9E5C0avv+5cc1/WE1J1X1OJmKNvFvSG9G/PzkZcUaGnDUn1Ys7iFo879fYvRvs +2TJs8opIHJJYjfiZrHzFrWyo8Ze6WZ+3SkCZDNU= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([94.218.219.247]) by smtp.web.de (mrweb002 [213.165.67.108]) with ESMTPSA (Nemesis) id 0Luu81-1k0bb41sjh-0104qw; Fri, 27 Nov 2020 18:43:11 +0100 From: Michael Heerdegen To: Stefan Monnier Subject: Re: bug#33341: 27.0.50; Undo log merging and change groups References: <877ehk3ve4.fsf@web.de> <87blfkthy7.fsf@gnus.org> <87zh3442zo.fsf@web.de> <87o8jkgoli.fsf@web.de> <878sang90k.fsf@web.de> <87im9r38p0.fsf@web.de> Date: Fri, 27 Nov 2020 18:43:09 +0100 In-Reply-To: (Stefan Monnier's message of "Fri, 27 Nov 2020 09:44:27 -0500") Message-ID: <87pn3ybsr6.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:Ker5vUGnoINn+WInwLZiyHPS2mF3D0FJQ4tGSLDNROZa2e8UPRT LQfk38iuq5VEaLTomhnjMtxYoFrFdfrBvzIjdmDTeHIqLb7q+FSyVU54Fyzpf8ZoFiQ5lRw +P1v72lmU/4oeCicznlbLIJLmQcZAW11FbHG3ekaUmjK4WnH9kqVEmXf9yW+N47NM5zgUMC Hi1r7nRzDasECqPa57jmQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:Kis8HA0wcpg=:Z9ooaQBszZGlOlMEn2HORP O+bL0AaEcwbSIrvDvyPhJAHvov/2OxVVBE3pcEqJJ6vBv6NsJTFDFTKC2sFz5iM/PHiPLB9gS rARUcIHH+8G8J/QtVKm0Zv0DX+RgQki+DBl37Dv7Zm2sAL900oUFBQ9HCNmcEI72AKhZCHjvG 5YAXlWlAjvUXAip1Fm4pgufkZVfOHKBb/5FSu6vlMztsuSjp1D0bwFSLwwLsmKo0Pq63x9iks 6+BJJfuqYYuyVGYCbttnjNE3RN0aJIqrLKdkz+VyH91TewaeVNKKYhRI8Fz4+DwL1kOfWCQ9U 4fUmyY81J02k4Pv8e+Z9205JRjCBShrsZZcVdiBHU8tYSH9R6+bnqooXOeI8lEXMHxfT6oUST s3AVpnJYVNH8rpPLLToOHl1UQlW4hAn0F91sfBVSsT1P4H7W3PJyj5O22TDyrVOwZLpW9ozrg sBf+6COS+NaTaf1/aru0PMj7mPA6nFy45kDxaxlrkNDSp0qF4V2JZDMMQ915Z5cim3MvAwl3H /CpEv2213lnRtTyrJ1sqi1iZS47pZ8DIEffYZr5MQv4eKse7YnLL+kKZC27HbAzSmkLZBa5oU qinK8Yi8FlIcLSC4nt76djbs9exnPArDvdYHvY2lrwZpk+KSDJgqrddIFWtkT4qD63aKnefcX +55UAkn9pcEPiDnML0i2hJSjb5ZwhQP+T23LlYnAHNDoTGxe6QSdMquu0DxZQb6bLUMfVTtg6 y7f7D8NfTuEBeyh+qnMRre5aGExNEf3usX3wL6fnGOJsPvzhScF9rCCuzismojO7B6LZpBEmU 9/AYaGH+EO0tBiMF7wtD5TlixXccieGpj+lcBvHlCMXbTJHt4lsDJQpdreOxAMO2nJQBMRj+l 96S5P5meK4DMdKqDwBHW7ZJnAEHXqCsYt1yQ+eEro= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 33341-done Cc: 33341-done@debbugs.gnu.org, Lars Ingebrigtsen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Stefan Monnier writes: > diff --git a/lisp/subr.el b/lisp/subr.el > index e009dcc2b9..1cf3a49fe4 100644 > --- a/lisp/subr.el > +++ b/lisp/subr.el > [...] > + (undo-boundary))))) Confirmed that it's fixed with that commit. Thanks! Michael. From unknown Tue Jun 17 20:21:10 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 26 Dec 2020 12:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator