Subject: bug#45947: 28.0.50; comment-dwim and undo in active region

From: Bodertz <[email-masked]>
Date: Sun, 17 Jan 2021 22:53:39 -0700

Undoing with an active region does not always work as expected if
`comment-dwim' is used.  From emacs -Q:

1. Create a new buffer (C-x b new-buffer RET)

2. Insert A, B, and C on seperate lines as below
   ('*' represents point)

A
B
C*

3. Create an active region over the last two lines (C-SPC C-p C-a)
4. Use comment-dwim (M-; ; RET)
5. Create an active region over the last two lines (C-SPC M->)
6. Undo (C-/):

A
; *
; C

7. Undo again (C-/):

A
;*
; C

8. Undo again (C-/):

A
*
; C

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.23, cairo version 1.16.0)
Windowing system distributor 'System Description: openSUSE Tumbleweed

Configured using:
 'configure
 CONFIG_SHELL=/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash
 SHELL=/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash
 --prefix=/gnu/store/k327dvhl6d897r3jz7gyhdyf0rdvdarh-emacs-next-pgtk-28.0.50-0.d46a223
 --enable-fast-install --with-pgtk --with-xwidgets --with-modules
 --with-cairo --disable-build-details'