GNU bug report logs - #35191
27.0.50; undo of comment-region signals error (when comment-combine-change-calls=t)

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> IRO.UMontreal.CA>

Date: Mon, 8 Apr 2019 12:59:01 UTC

Severity: normal

Tags: confirmed

Found in version 27.0.50

To reply to this bug, email your comments to 35191 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#35191; Package emacs. (Mon, 08 Apr 2019 12:59:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> IRO.UMontreal.CA>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 08 Apr 2019 12:59:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.0.50; Error signaled by undo--wrap-and-run-primitive-undo
Date: Mon, 08 Apr 2019 08:57:56 -0400
[Message part 1 (text/plain, inline)]
Package: Emacs
Version: 27.0.50


Save the file below and then open it as follows:

    % emacs -Q ..../zones.el
    C-M-f C-M-b                   ;; Move before first form
    C-M-SPC M-;                   ;; Comment out first form
    C-x u                         ;; Undo last change

When I do that, I see an error message in the echo area that says:

    Changes to be undone by function different than announced

If I redo this after enabling the debugger on error, I get the following
backtrace:

Debugger entered--Lisp error: (error "Changes to be undone by function different than an...")
  signal(error ("Changes to be undone by function different than an..."))
  error("Changes to be undone by function different than an...")
  primitive-undo(1 ((apply -4 44189 44226 undo--wrap-and-run-primitive-undo 44189 44226 ((44189 . 44192) (#(" " 0 1 (fontified t)) . -44223) (#<marker (moves after insertion) in no buffer> . 1) (44222 . 44223) 44189)) nil (apply 3 44189 44223 undo--wrap-and-run-primitive-undo 44189 44223 ((#("\n" 0 1 (face font-lock-comment-face fontified t)) . 44222) (44223 . 44224) (#(";; " 0 3 (face font-lock-comment-delimiter-face fontified t)) . 44189))) nil (apply -4 44189 44226 undo--wrap-and-run-primitive-undo 44189 44226 ((44189 . 44192) (#(" " 0 1 (fontified t)) . -44223) (#<marker (moves after insertion) in no buffer> . 1) (44222 . 44223) 44189)) (t 23723 17250 171044 280000)))
  undo-more(1)
  undo(nil)
  funcall-interactively(undo nil)
  call-interactively(undo nil nil)
  command-execute(undo)


[zones.el (application/emacs-lisp, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#35191; Package emacs. (Wed, 10 Apr 2019 00:43:02 GMT) Full text and rfc822 format available.

Message #8 received at 35191 <at> debbugs.gnu.org (full text, mbox):

From: Noam Postavsky <npostavs <at> gmail.com>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: 35191 <at> debbugs.gnu.org
Subject: Re: bug#35191: 27.0.50;
 Error signaled by undo--wrap-and-run-primitive-undo
Date: Tue, 09 Apr 2019 20:41:52 -0400
retitle 35191 27.0.50; undo of comment-region signals error (when comment-combine-change-calls=t)
tags 35191 + confirmed
quit

Stefan Monnier <monnier <at> IRO.UMontreal.CA> writes:

> Save the file below and then open it as follows:

It's enough to use a single line

    foo ;; bar

in emacs-lisp-mode.  And the problem only happens with
comment-combine-change-calls set to t (the default).

>     % emacs -Q ..../zones.el
>     C-M-f C-M-b                   ;; Move before first form
>     C-M-SPC M-;                   ;; Comment out first form
>     C-x u                         ;; Undo last change
>
> When I do that, I see an error message in the echo area that says:
>
>     Changes to be undone by function different than announced




Changed bug title to '27.0.50; undo of comment-region signals error (when comment-combine-change-calls=t)' from '27.0.50; Error signaled by undo--wrap-and-run-primitive-undo' Request was from Noam Postavsky <npostavs <at> gmail.com> to control <at> debbugs.gnu.org. (Wed, 10 Apr 2019 00:43:02 GMT) Full text and rfc822 format available.

Added tag(s) confirmed. Request was from Noam Postavsky <npostavs <at> gmail.com> to control <at> debbugs.gnu.org. (Wed, 10 Apr 2019 00:43:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#35191; Package emacs. (Tue, 02 Feb 2021 14:44:02 GMT) Full text and rfc822 format available.

Message #15 received at 35191 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Noam Postavsky <npostavs <at> gmail.com>
Cc: 35191 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Subject: Re: bug#35191: 27.0.50; undo of comment-region signals error (when
 comment-combine-change-calls=t)
Date: Tue, 02 Feb 2021 15:43:00 +0100
Noam Postavsky <npostavs <at> gmail.com> writes:

>> Save the file below and then open it as follows:
>
> It's enough to use a single line
>
>     foo ;; bar
>
> in emacs-lisp-mode.  And the problem only happens with
> comment-combine-change-calls set to t (the default).
>
>>     % emacs -Q ..../zones.el
>>     C-M-f C-M-b                   ;; Move before first form
>>     C-M-SPC M-;                   ;; Comment out first form
>>     C-x u                         ;; Undo last change
>>
>> When I do that, I see an error message in the echo area that says:
>>
>>     Changes to be undone by function different than announced

I'm unable to reproduce this on the trunk (or in Emacs 27.1) -- because 

>>     C-M-SPC M-;                   ;; Comment out first form

doesn't comment anything out (it just moves point to the comment), and
then there's nothing to undo.  Is there something missing in the recipe?  

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 4 years and 132 days ago.

Previous Next


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