help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: PROPOSAL: Repurpose one key and reserve it for third-party packages


From: Gregory Heytings
Subject: Re: PROPOSAL: Repurpose one key and reserve it for third-party packages
Date: Fri, 12 Feb 2021 17:54:52 +0000


Thanks for your detailed answer!


Beginning from the fact, that I don't see any key that is common, unused AND practical, I think we must accept that packages are actually limited to those keys reserved for users (or user-configurations).


Well, that's exactly what the proposal attempts to fix ;-)


Usually, packages like Magit, Org, elfeed, etc. can only informally propose a key-binding to use, users have to read this and install it themselves. Works for you and me, but can be confusing to others.


Yes, exactly.


My suggestion is based on the introduction of two variables: One for packages to formally specify their suggestions for what keys to bind, what hooks to modify, what options to set, etc. and one for users to declare if they are interested or not.

The patch I added to a message proposed that eg. Magit wouldn't write something like

       ;;;###autoload
       (global-set-key (kbd "C-x g") #'magit-status)

(I'm oversimplifying, their code is more complex), but instead they add a line like

       ;;;###autoload
       (add-to-list 'pacakge-configuration-suggestions
                    '(magit            ; package name
                      (key             ; what type of suggestion
                       "C-x g"  ; what key to bind the following to
                       magit-status ; what command to bind
                      )))


I'm fine with this in principle, but it doesn't answer the question. In the above example Magit would suggest "C-x g". It can do this because at the moment that key isn't used by Emacs. There is no guarantee that that key will not at some point be reclaimed by Emacs. It cannot suggest a "C-c LETTER" key, these are AFAIU strictly reserved for users in their configuration files, and there are not enough available keys there so this cannot be a long term solution anyway. So what keys can it suggest? This, and only this, is what the proposal is about.



reply via email to

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