unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Key bindings proposal [Was: Emacs learning curve]
@ 2010-07-26 22:01 Uday S Reddy
  2010-07-27  3:17 ` Stephen J. Turnbull
  2010-07-27 10:32 ` Key bindings proposal Stefan Monnier
  0 siblings, 2 replies; 259+ messages in thread
From: Uday S Reddy @ 2010-07-26 22:01 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Uday S. Reddy, Teemu Likonen, emacs-devel

Stephen J. Turnbull writes:

> It's trivial to change key bindings.  M-x local-set-key RET
> <keys-to-define> <command-name> RET and Bob's your uncle.  Or maybe
> you want a swap-keys command that would have the UI M-x swap-keys RET
> <keys1> <keys2>.  I don't have that function on the top of my head,
> but I'm pretty sure it requires at most three lines to express.

Hi Stephen, I was going to reply to this originally saying that
`local-set-key' and `global-set-key' are destructive change operations
which shouldn't be taken lightly.  They are kind of heavy duty hammers
that are looking for nails to hit on and of course everything looks
like a nail.

I thought better of it because this thread had already been too long
and wandering.  But a post in the gnu.emacs.help newsgroup today
prompted me to come back to it.  The poster says:

> For example now I just installed ruby-tests.el from emacswiki, which (I
> saw too late) unfortunately has some "global-set-keys" with combinations
> that normally I use for other things.

> Is there any way to revert back to the last global state (it might be
> useful also in other cases of cours)?

If Emacs did take key binding customization seriously, it would have
provided a whole bunch of *declarative* methods for specifying key
bindings, along with rules for how they override each other or not
override, as the need may be.  If and when a set of key bindings needs
to be installed (e.g., when a mode is entered), it would go and
compile the key bindings from all the sources, detect conflicts if
necessary, and install the right set.  The user would be protected.
The user wouldn't have to mess with mode-hooks or whatever.  

This is not an out-of-the-world idea.  Almost all customization
systems out there work this way.

Instead, Emacs acts rather like a grumpy child that believes that it
has the best key bindings already cased.  And, local-set-key and
global-set-key are like "if you really must change a key binding,
well, go right ahead.  Go and change all the key bindings if you want.
I don't care."  A totally unhelpful attitude.

Yidong asked for a specific proposal if there is one.  So, here is
mine:

    Redesign Emacs so that key bindings can be designed by end users
    or third party customizers and exchanged with each other.  It
    should be possible to change the entire set of key bindings in a
    running Emacs with the click of a button.  If there are conflicts
    between different sets of key bindings that users import, there
    should be clear rules for what to do in such a case, an analysis
    of what goes wrong and gentle feedback given to the users.

    If you think that Emacs is alredy capable of doing all of this,
    then demonstrate it by implementing a radically different set of
    key bindings.  Show the users how it can be done.

Cheers,
Uday

PS: By the way, I sort of speak from experience here.  I had RSI some
15 years ago and explored a whole bunch of options for how to change
things, including going to Vim or Viper, using speech recognition,
hand-writing etc.



^ permalink raw reply	[flat|nested] 259+ messages in thread

end of thread, other threads:[~2010-08-31 21:25 UTC | newest]

Thread overview: 259+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-26 22:01 Key bindings proposal [Was: Emacs learning curve] Uday S Reddy
2010-07-27  3:17 ` Stephen J. Turnbull
2010-07-27 10:32 ` Key bindings proposal Stefan Monnier
2010-07-27 11:30   ` Eric M. Ludlam
2010-07-27 11:32   ` Stephen J. Turnbull
2010-07-27 12:03     ` Stefan Monnier
2010-07-27 16:41       ` Uday S Reddy
2010-07-27 23:32         ` Miles Bader
2010-07-29 14:05           ` Stefan Monnier
2010-07-27 16:41       ` Stephen J. Turnbull
2010-07-27 17:52         ` Uday S Reddy
2010-07-28  5:57           ` Stephen J. Turnbull
2010-07-28 18:32             ` Uday S Reddy
2010-07-29  5:47               ` Stephen J. Turnbull
2010-07-29 15:28   ` Uday S Reddy
2010-07-29 16:05     ` Andreas Röhler
2010-07-31  7:16     ` Mathias Dahl
2010-07-31 10:04       ` Uday S Reddy
2010-07-31 14:07         ` Alan Mackenzie
2010-07-31 18:17         ` Drew Adams
2010-08-02 14:59           ` Uday S Reddy
2010-08-02 17:59             ` Drew Adams
2010-08-02 18:10               ` Lennart Borgman
2010-08-03  9:45                 ` Jan Djärv
2010-08-03 10:02                   ` Lennart Borgman
2010-08-03  2:09               ` Stephen J. Turnbull
2010-08-03 11:56               ` Uday S Reddy
2010-08-03 14:04                 ` Juanma Barranquero
2010-08-03 15:02                   ` Lennart Borgman
2010-08-03 15:16                     ` Juanma Barranquero
2010-08-03 15:54                       ` Lennart Borgman
2010-08-03 15:18                     ` David Kastrup
2010-08-03 15:51                       ` Lennart Borgman
2010-08-03 15:58                         ` no forking relation (was: Key bindings proposal) Drew Adams
2010-08-05  8:39                   ` Key bindings proposal Uday S Reddy
2010-08-05  9:22                     ` Juanma Barranquero
2010-08-05 11:00                       ` Lennart Borgman
2010-08-05 11:24                         ` Juanma Barranquero
2010-08-05 12:16                           ` Lennart Borgman
2010-08-05 13:59                             ` Uday S Reddy
2010-08-05 14:07                               ` Lennart Borgman
2010-08-05 13:10                         ` Uday S Reddy
2010-08-05 13:13                           ` Juanma Barranquero
2010-08-05 13:22                           ` Lennart Borgman
2010-08-05 13:48                             ` Uday S Reddy
2010-08-05 14:01                               ` Lennart Borgman
2010-08-05 14:01                                 ` Lennart Borgman
2010-08-05 17:08                                   ` Uday S Reddy
     [not found]                                 ` <19546.51009.703000.960158@gargle.gargle.HOWL>
2010-08-05 14:18                                   ` Lennart Borgman
2010-08-06  0:50                             ` Jason Rumney
2010-08-06  1:28                               ` Lennart Borgman
2010-08-06  1:35                                 ` Jason Rumney
2010-08-06  1:41                                   ` Lennart Borgman
2010-08-06  1:58                                     ` Lennart Borgman
2010-08-06  2:16                                       ` Óscar Fuentes
2010-08-06  2:38                                         ` Lennart Borgman
2010-08-06  2:34                                       ` Lennart Borgman
2010-08-06  2:55                                         ` Lennart Borgman
2010-08-06  3:11                                           ` Lennart Borgman
2010-08-06  6:05                                             ` Jason Rumney
2010-08-06 15:07                                               ` Lennart Borgman
2010-08-06 15:29                                                 ` Lennart Borgman
2010-08-05 20:33                           ` Óscar Fuentes
2010-08-05 21:26                             ` Uday S Reddy
2010-08-05 22:55                               ` Lennart Borgman
2010-08-06  0:05                               ` Drew Adams
2010-08-06  7:46                                 ` Eli Zaretskii
2010-08-06  3:21                             ` Stephen J. Turnbull
2010-08-06  3:25                               ` Lennart Borgman
2010-08-06  5:22                                 ` Stephen J. Turnbull
2010-08-06  6:21                                   ` Tassilo Horn
2010-08-06  5:09                               ` Miles Bader
2010-08-06  9:02                                 ` Stephen J. Turnbull
2010-08-06 17:32                               ` Uday S Reddy
2010-08-06 17:46                                 ` Óscar Fuentes
2010-08-06 18:40                                   ` Uday S Reddy
2010-08-06 19:13                                   ` Drew Adams
2010-08-06 19:04                                 ` Juanma Barranquero
2010-08-08 22:22                                 ` Chong Yidong
2010-08-08 22:29                                   ` Lennart Borgman
2010-08-08 23:06                                     ` David De La Harpe Golden
2010-08-08 23:09                                     ` Chong Yidong
     [not found]                                       ` <AANLkTim86uB8Yb3P9_HX2NN=RQ6svVTvXfyvUQfAJAnE@mail.gmail! .com>
2010-08-08 23:19                                       ` Lennart Borgman
2010-08-08 23:42                                         ` Chong Yidong
     [not found]                                           ` <AANLkTikRWNmYsEqJX7ccPFGsBobNLkeYRY+1BvnBDOt9!! @mail.gmail.com>
     [not found]                                           ` <AANLkTikRWNmYsEqJX7ccPFGsBobNLkeYRY+1BvnBDOt9! @mail.gmail.com>
2010-08-09 14:50                                           ` Lennart Borgman
2010-08-09 15:16                                             ` Uday S Reddy
2010-08-09 16:08                                               ` Drew Adams
2010-08-10  7:30                                                 ` Stephen J. Turnbull
2010-08-12 15:21                                             ` Chong Yidong
2010-08-12 15:46                                               ` Andreas Schwab
2010-08-12 16:13                                                 ` Jan Djärv
2010-08-12 15:59                                               ` Lennart Borgman
2010-08-12 21:20                                                 ` Juanma Barranquero
2010-08-12 21:57                                                   ` Uday S Reddy
2010-08-12 22:06                                                     ` Uday S Reddy
2010-08-12 22:12                                                     ` Juanma Barranquero
2010-08-12 23:02                                                       ` Lennart Borgman
2010-08-12 23:11                                                         ` Juanma Barranquero
2010-08-13  8:57                                                       ` Uday S Reddy
2010-08-13 14:42                                                         ` Drew Adams
2010-08-13 14:57                                                           ` Lennart Borgman
2010-08-13 16:09                                                             ` Drew Adams
2010-08-13 16:15                                                               ` Lennart Borgman
2010-08-13 17:40                                                                 ` David Robinow
2010-08-14  0:01                                                                 ` Drew Adams
2010-08-13 16:07                                                           ` Uday S Reddy
2010-08-13 22:34                                                             ` Juanma Barranquero
2010-08-14  0:01                                                             ` Drew Adams
2010-08-14  9:23                                                               ` Uday S Reddy
2010-08-13 22:53                                                         ` Juanma Barranquero
2010-08-14  7:08                                                           ` Uday S Reddy
2010-08-13 15:37                                                     ` Chong Yidong
2010-08-13 15:46                                                       ` Óscar Fuentes
2010-08-13 16:50                                                         ` Chong Yidong
2010-08-13 20:32                                                           ` Óscar Fuentes
2010-08-13 22:37                                                             ` Juanma Barranquero
2010-08-13 23:30                                                               ` Óscar Fuentes
2010-08-13 23:53                                                                 ` Juanma Barranquero
2010-08-14  0:21                                                                   ` Óscar Fuentes
2010-08-15 22:21                                                                     ` Juanma Barranquero
2010-08-14  0:00                                                             ` Drew Adams
2010-08-14  0:25                                                               ` Óscar Fuentes
2010-08-14  2:05                                                                 ` Drew Adams
2010-08-14 10:20                                                                   ` Jeff Clough
2010-08-14  7:48                                                             ` Uday S Reddy
2010-08-14  8:18                                                               ` Jason Rumney
2010-08-15 22:27                                                               ` Juanma Barranquero
2010-08-16  7:25                                                           ` christian.lynbech
2010-08-16  7:37                                                             ` Miles Bader
2010-08-13 16:01                                                       ` Jason Rumney
2010-08-13 22:40                                                         ` Juanma Barranquero
2010-08-13 22:46                                                           ` Lennart Borgman
2010-08-13 16:04                                                       ` Lennart Borgman
2010-08-13 16:53                                                         ` Chong Yidong
2010-08-14  0:41                                                           ` Jason Rumney
2010-08-14  1:24                                                             ` Chong Yidong
2010-08-14  2:13                                                               ` Jason Rumney
2010-08-14  2:02                                                             ` Drew Adams
2010-08-13 22:43                                                         ` Juanma Barranquero
2010-08-14  0:30                                                         ` Jason Rumney
2010-08-14 12:07                                                           ` Lennart Borgman
2010-08-14 13:56                                                             ` Jason Rumney
2010-08-09  1:01                                         ` Juanma Barranquero
2010-08-09  8:48                                           ` Uday S Reddy
2010-08-09  8:13                                   ` Uday S Reddy
2010-08-10  7:52                                   ` Uday Reddy
2010-08-13  9:05                                   ` Uday S Reddy
2010-08-03 15:54                 ` Stephen J. Turnbull
2010-08-04  9:52                   ` Uday S Reddy
2010-08-04 10:20                     ` joakim
2010-08-04 10:52                       ` Lennart Borgman
2010-08-04 11:11                         ` joakim
2010-08-04 11:25                           ` Lennart Borgman
2010-08-04 11:44                             ` joakim
2010-08-04 13:24                             ` Jason Rumney
2010-08-04 13:29                               ` Lennart Borgman
2010-08-04 11:19                         ` Jan Djärv
2010-08-04 11:27                           ` Lennart Borgman
2010-08-04 13:27                             ` Jason Rumney
2010-08-04 13:45                               ` Lennart Borgman
2010-08-04 11:16                       ` Uday S Reddy
2010-08-04 11:28                         ` Andreas Schwab
2010-08-04 11:36                           ` Uday S Reddy
2010-08-04 12:03                             ` Andreas Schwab
2010-08-04 12:09                               ` Lennart Borgman
2010-08-04 12:13                                 ` Andreas Schwab
2010-08-04 12:17                                   ` Lennart Borgman
2010-08-04 12:33                               ` Uday S Reddy
2010-08-04 16:19                                 ` Tom
2010-08-04 17:38                                   ` Stuart Hacking
2010-08-05  2:39                                     ` Stephen J. Turnbull
2010-08-05  8:16                                       ` Stuart Hacking
2010-08-05  8:34                                       ` Andreas Schwab
2010-08-05 11:55                                         ` Stephen J. Turnbull
2010-08-05 12:20                                           ` Andreas Schwab
2010-08-05 12:37                                             ` Stephen J. Turnbull
2010-08-05 12:47                                               ` Andreas Schwab
2010-08-05  2:28                                   ` Chong Yidong
2010-08-05  3:14                                     ` Stephen J. Turnbull
2010-08-05  7:46                                       ` Uday S Reddy
2010-08-05 15:17                                         ` David Kastrup
2010-08-06  3:12                                         ` Stephen J. Turnbull
2010-08-06  5:54                                           ` Jan Djärv
2010-08-06  6:20                                             ` Stephen J. Turnbull
2010-08-05 14:01                                     ` Richard Stallman
2010-08-05 14:55                                       ` Eli Zaretskii
2010-08-04 14:06                               ` Stephen J. Turnbull
2010-08-04 13:53                         ` Stephen J. Turnbull
2010-08-04 13:15                       ` Jason Rumney
2010-08-04 10:54                     ` Stephen J. Turnbull
2010-08-04 11:25                       ` Uday S Reddy
2010-08-04 14:25                         ` Stephen J. Turnbull
2010-08-04 15:21                       ` Óscar Fuentes
2010-08-04 15:45                         ` joakim
2010-08-04 12:57                 ` Stefan Monnier
2010-08-02  9:42         ` Stuart Hacking
2010-08-02 10:58           ` Uday S Reddy
2010-08-02 11:17             ` Stuart Hacking
2010-08-02 11:58               ` Uday S Reddy
2010-08-03  3:03                 ` Stephen J. Turnbull
2010-08-02 10:12         ` Tassilo Horn
2010-08-02 11:24           ` Uday S Reddy
2010-08-23 13:45       ` Juri Linkov
2010-08-23 14:14         ` Thierry Volpiatto
2010-08-23 20:56           ` Juri Linkov
2010-08-23 21:15             ` Thierry Volpiatto
2010-08-23 22:36               ` Drew Adams
2010-08-24 13:55                 ` Juri Linkov
2010-08-24 15:20                   ` Thierry Volpiatto
2010-08-24 16:38                   ` Drew Adams
2010-08-25 13:47                     ` Juri Linkov
2010-08-23 14:39         ` Drew Adams
2010-08-23 20:45           ` Juri Linkov
2010-08-24 13:50           ` Juri Linkov
2010-08-24 16:34             ` Drew Adams
2010-08-25 13:48               ` Juri Linkov
2010-08-25 15:07                 ` Drew Adams
2010-08-26 23:22                   ` Juri Linkov
2010-08-27 12:10                     ` Jason Rumney
2010-08-27 22:38                       ` Juri Linkov
2010-08-28  0:01                         ` Stefan Monnier
2010-08-28  7:28                           ` Eli Zaretskii
2010-08-30 14:37                             ` Stefan Monnier
2010-08-30 15:34                               ` Drew Adams
2010-08-30 15:39                                 ` Lennart Borgman
2010-08-30 15:53                                   ` Drew Adams
2010-08-30 16:06                                     ` Lennart Borgman
2010-08-30 15:54                                 ` Andreas Schwab
2010-08-30 21:39                                 ` Davis Herring
2010-08-31  5:49                                   ` Jan Djärv
2010-08-31  9:54                                     ` Lennart Borgman
2010-08-31 12:14                                       ` Jan Djärv
2010-08-31 21:25                                         ` Lennart Borgman
2010-08-28  9:25                           ` Jan Djärv
2010-08-28  1:02                         ` Jason Rumney
2010-08-28  9:20                         ` Jan Djärv
2010-08-28  9:23                           ` Jason Rumney
2010-08-28  9:41                             ` Jan Djärv
2010-08-28 10:13                               ` Jason Rumney
2010-08-28 10:58                                 ` Jan Djärv
2010-08-28 23:16                                   ` Juri Linkov
2010-08-29  7:46                                     ` Jan Djärv
2010-08-29 11:58                                       ` David Kastrup
2010-08-29 12:24                                         ` Jan Djärv
2010-08-25 16:34                 ` Stephen J. Turnbull
2010-08-26 23:23                   ` Juri Linkov
2010-08-27  0:17                     ` Miles Bader
2010-08-27 22:38                       ` Juri Linkov
2010-08-27  8:56           ` Uday S Reddy
2010-08-23 17:10         ` Andreas Schwab
2010-08-27  8:18         ` Uday S Reddy
2010-08-27 22:34           ` Juri Linkov
2010-08-27 23:12             ` Lennart Borgman
2010-08-28 23:27               ` Juri Linkov
2010-07-30  2:04   ` coding guidelines? (was Re: Key bindings proposal) Joe Brenner
2010-07-30  8:33     ` Andreas Schwab
2010-07-30  9:32     ` Stephen J. Turnbull
2010-07-31 19:19       ` Joe Brenner
2010-07-31 19:45         ` Joe Brenner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).