From: Richard M. Stallman Date: Sun, 22 Aug 2004 17:41:15 +0000 (+0000) Subject: (Major Mode Conventions): Discuss rebinding of standard key bindings. X-Git-Tag: ttn-vms-21-2-B4~5199 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e0dbfecc414a5856e7855b2803f145ba5fe6c74a;p=emacs.git (Major Mode Conventions): Discuss rebinding of standard key bindings. --- diff --git a/lispref/modes.texi b/lispref/modes.texi index 040c229bb00..78b8fc440d7 100644 --- a/lispref/modes.texi +++ b/lispref/modes.texi @@ -188,16 +188,24 @@ The key sequences bound in a major mode keymap should usually start with 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