Subject: RE: bug#15234: 24.3.50; Make C-x u repeatable

From: Drew Adams <[email-masked]>
Date: Tue, 3 Sep 2013 07:49:19 -0700 (PDT)

> > FWIW, I've always used `C-_' or `C-/'.  But I still think it makes sense
> > to make `C-x u' repeatable.  I haven't seen an argument to the contrary
> > (but if I do I might change my mind).
> 
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12572#8

[The argument there is that if `C-x u u u...' repeats `undo' then typing
`u' directly after that will not insert a `u' character.]

Fair enough.  And thank you - it's always good to see real arguments for
and against a proposal.

It's a good argument.  Not a particularly strong one, IMO, but reasonable.

It's not strong because there are other, simple ways of exiting `undo' so
`u' will then insert (`<left> <right>', `x DEL', whatever).

This is similar to arguments against binding keys in `isearch-mode-map'
to do things in Isearch because it stops them from ending Isearch.

Yes, some people might want to use `C-x u' for `undo' AND want `C-x u u'
to insert `u'.  My vote would still be for making `C-x u u' repeatable.

You can't please everyone, unless you add an option or you have two
different commands (or you abuse some prefix-arg combination, and that's
already pretty overloaded).

To accommodate that argument, I would also vote for binding `C-x u' to a
new command, `undo-repeat', as mentioned earlier.  (Or perhaps just reuse
the previously used name for `C-x u': `advertised-undo'.)

Anyone wanting to have `u' to insert directly after `C-x u' could easily
opt out in that case, by changing the key binding to the original,
non-repeatable `undo'.

Or if you want to be conservative here, make binding `C-x u' to
`undo-repeat'/`advertised-undo' opt-in instead of opt-out.  I'd vote for
that too.

Bottom line: we should provide a repeatable undo command for `C-x u',
whether bound by default (preferable) or not (ok).