Gregory Heytings writes: >> My reading of the guideline on "C-c LETTER" is that a major/minor >> mode shouldn't bind C-c LETTER to a command, so that it overshadows >> whatever is bound globally to C-c LETTER. But a system like what I >> propose just generates to configuration *for* the user, in a user >> file in which case the guideline doesn't apply. That's what I mean >> by avoiding the need for an extra key-space. >> > > I'm not sure your interpetation of that guideline ("Don't define 'C-c > LETTER' as a key in Lisp programs") is correct, but now at least I see > what you mean: you're more or less cheating the guideline by > generating a configuration file, after asking the user if they're okay > with that, instead of binding the key directly in the package > depending on the value of a configuration variable. To me what you > propose looks pretty close to using customize to set a > foobar-set-global-binding variable that would be used in a call to > global-set-key. Yes, that could also be done, the precise code that is generated is an open question > And that doesn't solve the problem that 26 letter keys is a small > number. Yes, you can also use capital letters, and yes, you can put > keymaps on these 26 letters instead of single commands. IMO, that > can't work as a long-term solution; if it were, it would already be > used, and the fact is that it isn't, and that third-party packages > prefer to use, or recommend to use, keys that are not yet bound by > Emacs. You could use C-c LETTER as a fallback, and suggest more convenient keys first, that are usually unbound. But even considering that, what do you think that the long-term issue is? Do you think that with time, people will be using more and more packages that need global keys? -- Philip K.