Subject: Re: bug#71648: 30.0.50; Allow which-key to report on translation bindings

From: Justin Burkett <[email-masked]>
Date: Wed, 19 Jun 2024 11:09:36 -0400

The purpose of which-key was to show the commands that are available
following an incomplete key sequence. If I understand correctly, these
maps don't hold commands and anyway would be processed before
which-key "sees" the current incomplete key sequence.

If I understand correctly, if "C-d x" translates to "C-c x" then
which-key I believe would see the sequence "C-c x" and find the
bindings following that sequence. I'm not sure how or why we would
want to display the information that "C-d x" translates to "C-c x".

Justin

On Wed, Jun 19, 2024 at 9:12 AM Eli Zaretskii <[email-masked]> wrote:
>
> > From: Robert Pluim <[email-masked]>
> > Date: Wed, 19 Jun 2024 14:04:35 +0200
> >
> > `which-key-mode' currently only looks at keymaps, not translation
> > keymaps such as `key-translation-map' and `function-key-map'. In order
> > to aid discoverability, perhaps it should do the following
> >
> > (maybe with a user option)
> >
> > @@ -1942,8 +1949,10 @@ which-key--get-keymap-bindings
> >
> >  (defun which-key--get-current-bindings (&optional prefix filter)
> >    "Generate a list of current active bindings."
> > -  (let (bindings)
> > -    (dolist (map (current-active-maps t) bindings)
> > +  (let (bindings
> > +        (maps (nconc (current-active-maps t)
> > +                     (list key-translation-map function-key-map))))
> > +    (dolist (map maps bindings)
> >        (when (cdr map)
> >          (setq bindings
> >                (which-key--get-keymap-bindings
> >
>
> Let's have the relevant people on-board of this discussion.