Subject: bug#21684: 25.0.50; undo in query-replace w/o exit

From: Juri Linkov <[email-masked]>
Date: Tue, 20 Oct 2015 01:04:34 +0300

> The patch replace-3.patch in this thread implements such interactive undo
> and binds the new funtionality to keys "u" and "U".

Please note that usually the upper-case "U" applies to all
elements in the set such as e.g. in Dired the lower-case "u"
is bound to a single-mark dired-unmark whereas the upper-case "U"
is bound to dired-unmark-all-marks, etc.

For query-replace this means that better would be to bind the
upper-case "U" to a new operation undo-all that could be easy to
implement in the same branch with (or (eq def 'undo) (eq def 'undo-all))
and looping until the top of the stack when (eq def 'undo-all).