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