[net.emacs] Emacs keybindings: a plea for generality

gaf@cmu-cs-h.ARPA (Gary Feldman) (07/02/85)

Back when this newsgroup was discussing Emacs instead of copyright law, I
realized that I was having trouble following some of the discussions.  The
reason was that people were talking about commands such as <ctrl-F>, Meta-b,
etc., while many years ago, when I first started using Emacs, I went to some
trouble to convert my keybindings to look like Flash, instead of Emacs
conventions.  

Now I have no intention of trying to convince people that my keybindings are
better, nor should other people try to sway me from my stubborness.
Instead, I have two milder requests.

First, within extensive discussions about Emacs commands, please try
to use command names (like "forward-char") instead of keystrokes.  Not only
would this help me, but I imagine that there are other people who (like me)
edit so automatically that we have to pause and think in order to convert
keystrokes into commands (during a discussion).  Furthermore, this permits
the discussion to ignore the minor binding differences between various
editions of Emacs, as well as local conventions.

Second, I would like to see some conventions for macro packages, to avoid
fouling up people like me with radically different keybindings.  My current
hack is to change all keybinding functions so that they refer to variables
instead of constants (e. g. CF instead of "^F", Mf instead of "\ef", etc.).  
Then I provide a standard file that defines all of these variables and sets
their standard values, while my personal file sets them to non-standard
values.  This mechanism works, and may even be the best answer.  Another
possibility is to provide a function that returns a current keybinding for a
given function (this can be one-to-many; just pick one according to some
reasonable scheme).  I once started implementing this in mocklisp, and then
realized it should really be a built-in function if it exists at all.

   Opinions and polite flames welcome,
   Gary Feldman
   (CMU Ghost student, Formtek employee)