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).