Subject: bug#37700: 27.0.50; undo mouse-drag-and-drop-region ineffective

From: Mattias Engdegård <[email-masked]>
Date: Thu, 31 Oct 2019 12:00:08 +0100

30 okt. 2019 kl. 20.56 skrev Stefan Monnier <[email-masked]>:
> 
>> Unfortunately, even with the patch, undoing a drag-and-drop does not leave
>> the region active the way it was before the undo, so the user has to
>> reselect the text in order to try again.
> 
> If the undo-list is built right, reselecting the text should be just
> `C-x C-x`, which isn't that bad.

Right, second nature to the Emacs user, but it would still be nice not having to go through that step. kill-region and delete-selection-mode are similarly affected.

> But now that I think about it, maybe a better option would be to check
> 
>    (when (symbolp last-command)
>      (get last-command 'undo-inhibit-region))
> 
> and then put the `undo-inhibit-region` property on
> `mouse-drag-and-drop-region`.

Thank you, this looks like the best idea so far. A very simple change, yet effective in practice. Not perfect --- last-command is not buffer-local, and even switching to a different frame and back will change it --- but good enough.

Patch attached.