GNU bug report logs - #24556
25.1.50; Undo partially broken in patch mode

Previous Next

Package: emacs;

Reported by: Clément Pit--Claudel <clement.pitclaudel <at> live.com>

Date: Wed, 28 Sep 2016 13:30:03 UTC

Severity: normal

Tags: confirmed

Found in version 25.1.50

Full log


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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Clément Pit--Claudel <clement.pitclaudel <at> live.com>
Cc: 24556 <at> debbugs.gnu.org
Subject: Re: bug#24556: 25.1.50; Undo partially broken in patch mode
Date: Tue, 25 Jun 2019 02:15:51 +0200
Clément Pit--Claudel <clement.pitclaudel <at> live.com> writes:

> Recipe in emacs -Q:
>
> * Open a patch or diff file
> * Press C-c C-d [diff-unified->context]
> * Press C-_ [undo]
>
> Undo fails with the following backtrace:
>
> Debugger entered--Lisp error: (error "Changes to be undone by function different than announced")
>   signal(error ("Changes to be undone by function different than announced"))

I can confirm that this is still the case.

This code in diff-unified->context certainly looks like a likely culprit:

		(unless (or (not reversible) (eq buffer-undo-list t))
                  ;; Drop the many undo entries and replace them with
                  ;; a single entry that uses diff-context->unified to do
                  ;; the work.
		  (setq buffer-undo-list
			(cons (list 'apply (- old-end end) start (point-max)
				    'diff-context->unified start (point-max))
			      old-undo)))))))))))


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




This bug report was last modified 5 years and 356 days ago.

Previous Next


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