Gregory Heytings writes: >> >> Sorry for protracting the conversation, I just think the >> interpretation of the guideline is important. >> > > Not for the proposal itself. Well yes, because if packages may bind to C-c *with* the consent of users, the need for a special package map decreases. >>> AFAIU, this is also how the author of Magit understands that >>> guideline: Magit binds three keys globally unless >>> magit-define-global-key-bindings, whose default value is t, has >>> been set to nil, and only recommends in the docstring to bind "C-c >>> g". With your understanding of the guideline, Magit could have >>> added a third possible to magit-define-global-key-bindings, say >>> 'best, with which the "C-c g" binding would have been created >>> automatically. >> >> No, because the user is not asked, and I have to add extra >> configuration, to prevent Magit from changing my environment. > > The point here is that the three values for > magit-define-global-key-bindings would have resulted in three > behaviors: nil => do not bind any key, t => bind keys but not in C-c, > 'best => bind keys including one in C-c. The author of Magit did not > do this, so my guess (it's just a guess, I could be wrong) is that he > also has a literal interpretation of the guideline. The way I see it is that there is no need for a value like 'best, because this whole idea is that magit wants to bind their keys by default, but it shouldn't bind it to C-c g. If you're going to set magit-define-global-key-bindings to 'best, you might just as well directly bind magit-status to C-c g. I think it would be totally ok for Magit to have the default value set to nil, and then bind to C-c g, but that undermines their entire motivation, as there would be no default binding. Btw., are there any other examples of packages binding global keys by default? -- Philip K.