Subject: Re: bug#20687: 25.0.50; `perform-replace' should invoke a key that you have bound in `query-replace-map'

From: Lars Ingebrigtsen <[email-masked]>
Date: Thu, 17 Sep 2020 20:11:22 +0200

Juri Linkov <[email-masked]> writes:

> I see there are already commands (as opposed to special internal
> values such as `act' and `skip') in query-replace-map:
>
>     (define-key map "\C-v" 'scroll-up)
>     (define-key map "\M-v" 'scroll-down)
>     (define-key map [next] 'scroll-up)
>     (define-key map [prior] 'scroll-down)
>     (define-key map [?\C-\M-v] 'scroll-other-window)
>     (define-key map [M-next] 'scroll-other-window)
>     (define-key map [?\C-\M-\S-v] 'scroll-other-window-down)
>     (define-key map [M-prior] 'scroll-other-window-down)
>
> These bindings look like real commands intended to be called
> interactively, so after enabling this feature in query-replace
> they will start doing their job which is good.

[...]

> +                        ((commandp def t)
> +                         (call-interactively def))

I'm not sure I quite understand Kaushal's proposed patch here, and how
it relates to the problem Drew describes, but Juri's patch here seems
like the right thing, at least?  As far as I can tell, it was never
applied.

So I've applied it to Emacs 28, and I'm closing this bug report.  If
there are other related things to be done in this area, it might be
better to open a separate bug report and restate what the requested
feature is.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no