Subject: Emacs 25: "Undo" overdoes things.

From: Alan Mackenzie <[email-masked]>
Date: Fri, 17 Jun 2016 15:02:45 +0000

Hello, Emacs.

Summary: `undo' is broken in Emacs 25.

In GNU Emacs 25.0.94.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.7)
 of 2016-06-07 built on acm
Repository revision: 9d5ccebeba0506f7280662630f0ee85a52c8a327
Configured using:
 'configure --with-tiff=no --with-gif=no --with-gpm'

1. emacs -Q
2. C-x C-f decls-6.cc    ; file is attached.
3. Move point to BOL 17.
4. C-o, and insert the line "Type var = init;".  Call this line 16½.
5. M-x revert-buffer.
6. Move point to "[" on L16, and use C-M-k to delete "[3 * peq]".
7. C-_.  This restores "[3 * peq]" (correctly) but also reinserts line
   16½ (which is a bug).

[For reference, the pertinent part of the file looks like this.  In the
actual file "Type" is at column zero:

14.   Type var = init, x = Type();
15.   Type (*var) = init;
16.   Type var[3 * peq] = init;
16½.  Type var = init;         <======== inserted line.
17.   Type (var) = init;
18.   Type int = "int";               // int

].

-- 
Alan Mackenzie (Nuremberg, Germany).