emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Suggested experimental test


From: Dmitry Gutov
Subject: Re: Suggested experimental test
Date: Fri, 26 Mar 2021 01:54:35 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1

On 25.03.2021 23:11, Stefan Monnier wrote:
E.g. if it's bound to `C-c` it's fairly convenient to have bindings
within it of the form `C-<letter>`, but if it's bound to `c` instead
(assuming a a modal key-binding scheme like vi) then using `C-<letter>`
within it is much less convenient.

Interesting example. I wanted to say nobody will bind it to 'c', but some people might decide to bind it to M-c instead.

Here's a thought: let's invent an extension of the kbd syntax which will allow us to specify a modifier indirectly based on an entry in key-translation-map. Like:

  (kbd "<mode-specific> <mode-specific-modifier>-c")

Even more backward-incompatible, but okay. But what to do if <mode-specific> has no modifiers, like <menu> in Yuri's example? Translate '<mode-specific-modifier>-c' to just 'c'? What happens to any other simple 'c' entry in that keymap? Do we "flip" it to, say, 'C-c'?

What happens if the user decides to bind <mode-specific> to 'C-d', and in my third-party package I choose 'C-c C-d' as a command binding? That seems like a popular one, inspired by SLIME. *And* I have another binding in there, 'C-c C-c'. Going along with the new feature, I'll write the first one like '<mode-specific> C-d' and the second one '<mode-specific> <mode-specific>'... right? That's a conflict. The only way of resolving such conflicts I can imagine is to also "flip" any 'C-d' written verbatim and not as <mode-specific> back to C-c, the default <mode-specific> binding, when <mode-specific> is bound to 'C-d'. Which seems both tricky to implement and punishing to a lot of existing code that the user might try to use.

So maybe we should limit the scope of the effort and not try to solve all the inefficiencies, or we'll never make progress on this issue (after all, the main audience of this change are people who aren't so fond of key sequences; or at least not yet).

But better ideas welcome, of course.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]