Subject: 26.0.50; Using atomic-change-group right after an undo does not work

From: Andreas Politz <[email-masked]>
Date: Tue, 28 Mar 2017 22:11:54 +0200

I seems that atomic-change-group has problems in case its used while in
the middle of an undo sequence.
 
Have this function defined:

(defun undo-bug ()
  (interactive)
  (catch 'done
    (atomic-change-group
      (insert "a b c")
      (throw 'done nil))))

$ emacs -Q

C-x b xxx RET
xxx
C-/
M-x undo-bug RET

Debugger entered--Lisp error: (error "Undoing to some unrelated state")
  signal(error ("Undoing to some unrelated state"))
  error("Undoing to some unrelated state")
  cancel-change-group(((#<buffer xxx> nil)))
  ...