Subject: bug#18886: 24.4; M-v no longer works in CUA-mode.

From: Stefan Monnier <[email-masked]>
Date: Thu, 30 Oct 2014 15:23:06 -0400

> I don't have time to try to get up to date with the repository stuff,
> so I have just included some patches for you to look at -- please
> commit them if you think they are acceptable (they are only lightly
> tested so far).

Thanks, installed into emacs-24, with minor changes (mostly I demoted
the defcustom to a defvar, because I think the right fix will be to move
the setting to simple.el where it will be configured yet differently
(probably allowing delete-active-region to be set to a character)).

I think further changes will be needed, tho.  E.g. cua-delete-region
should probably disappear (i.e. be an alias for delete-active-region).

> Note that the new defcustom is unconditionally set to ?0
> by cua-mode if cua-mode-copy-to-register-0 is enabled (default),

Right, I added a FIXME about it.

> Also, the new replace command only works if save-to-register
> is non-nil, as it uses the old-text copy in that register (instead
> of saving another copy as the original code in cua did).

BTW, I think that instead of scavenging the undo log we should place an
overlay at the last delete so we can directly grab the "replacement text".

> Finally, using a C-u arg should replace until eob according to the
> doc string -- it actually replaces max 1000000 instances; this
> is just laziness on my part.

I used (point-max) which should work well and is only 4 extra characters ;-)

        Stefan