Mercurial > emacs
changeset 56768:560751ade8e5
(Major Mode Conventions): Discuss rebinding of standard key bindings.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 22 Aug 2004 17:41:15 +0000 |
parents | 448c214b700f |
children | 349245fdad22 |
files | lispref/modes.texi |
diffstat | 1 files changed, 18 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/lispref/modes.texi Sun Aug 22 17:15:55 2004 +0000 +++ b/lispref/modes.texi Sun Aug 22 17:41:15 2004 +0000 @@ -188,16 +188,24 @@ characters are reserved for minor modes, and ordinary letters are reserved for users. -It is reasonable for a major mode to rebind a key sequence with a -standard meaning, if it implements a command that does ``the same job'' -in a way that fits the major mode better. For example, a major mode for -editing a programming language might redefine @kbd{C-M-a} to ``move to -the beginning of a function'' in a way that works better for that -language. - -Major modes such as Dired or Rmail that do not allow self-insertion of -text can reasonably redefine letters and other printing characters as -editing commands. Dired and Rmail both do this. +A major mode can also rebind the keys @kbd{M-n}, @kbd{M-p} and +@kbd{M-s}. The bindings for @kbd{M-n} and @kbd{M-p} should normally +be some kind of ``moving forward and backward,'' but this does not +necessarily mean cursor motion. + +It is legitimate for a major mode to rebind a standard key sequence if +it provides a command that does ``the same job'' in a way better +suited to the text this mode is used for. For example, a major mode +for editing a programming language might redefine @kbd{C-M-a} to +``move to the beginning of a function'' in a way that works better for +that language. + +It is also legitimate for a major mode to rebind a standard key +sequence whose standard meaning is rarely useful in that mode. For +instance, minibuffer modes rebind @kbd{M-r}, whose standard meaning is +rarely of any use in the minibuffer. Major modes such as Dired or +Rmail that do not allow self-insertion of text can reasonably redefine +letters and other printing characters as special commands. @item Major modes must not define @key{RET} to do anything other than insert