changeset 70922:329ad40a4c40

* keymaps.texi (Key Sequences): Some clarifications.
author Chong Yidong <cyd@stupidchicken.com>
date Thu, 25 May 2006 16:48:37 +0000
parents 77206b6b6ec5
children 386bb0e801d5
files lispref/ChangeLog lispref/keymaps.texi
diffstat 2 files changed, 29 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/lispref/ChangeLog	Thu May 25 16:27:30 2006 +0000
+++ b/lispref/ChangeLog	Thu May 25 16:48:37 2006 +0000
@@ -1,3 +1,7 @@
+2006-05-25  Chong Yidong  <cyd@stupidchicken.com>
+
+	* keymaps.texi (Key Sequences): Some clarifications.
+
 2006-05-25  Thien-Thi Nguyen  <ttn@gnu.org>
 
 	* processes.texi (Bindat Functions): Say "unibyte string"
--- a/lispref/keymaps.texi	Thu May 25 16:27:30 2006 +0000
+++ b/lispref/keymaps.texi	Thu May 25 16:48:37 2006 +0000
@@ -82,39 +82,36 @@
 is always a key sequence, because it does not depend on any prefix keys
 for its well-formedness.
 
-  At any time, several primary keymaps are @dfn{active}---that is, in
-use for finding key bindings.  These are the @dfn{global map}, which is
-shared by all buffers; the @dfn{local keymap}, which is usually
-associated with a specific major mode; and zero or more @dfn{minor mode
-keymaps}, which belong to currently enabled minor modes.  (Not all minor
-modes have keymaps.)  The local keymap bindings shadow (i.e., take
-precedence over) the corresponding global bindings.  The minor mode
-keymaps shadow both local and global keymaps.  @xref{Active Keymaps},
-for details.
-
-  The Emacs Lisp representation for a key sequence is a string or vector.
+  A key sequence can be represented in Emacs Lisp as either a string
+or vector.  Unless otherwise stated, any Emacs Lisp function that
+accepts a key sequence as an argument can handle both representations.
 
   In the string representation, alphanumeric characters ordinarily
 stand for themselves; for example, @code{"a"} represents @key{a} and
-and @code{"1"} represents @key{1}.  Control character events are
+and @code{"2"} represents @key{2}.  Control character events are
 prefixed by the substring @code{"\C-"}, and meta characters by
 @code{"\M-"}; for example, @code{"\C-x"} represents the key @kbd{C-x}.
 In addition, the @kbd{<TAB>}, @kbd{<RET>}, @kbd{<ESC>}, and
 @kbd{<DEL>} events are represented by @code{"\t"}, @code{"\r"},
 @code{"\e"}, and @code{"\d"} respectively.  The string representation
 of a complete key sequence is then obtained by concatenating the
-string representations of each constituent event; thus, @code{"\C-x"}
-represents the key sequence @kbd{C-x}.
+string representations of each constituent event; thus, @code{"\C-xl"}
+represents the key sequence @kbd{C-x l}.
 
   Key sequences containing function keys, mouse button events, or
 non-ASCII characters such as @kbd{C-=} or @kbd{H-a} cannot be
-represented as strings; they have to be represented as vectors.
+represented by strings; they have to be represented by vectors.
 
   In the vector representation, each element of the vector represents
 a consecutive input element, in its Lisp form.  @xref{Input Events}.
-For example, ordinary keyboard events are represented by Lisp
-characters (@pxref{Keyboard Events}), so the character @code{?a}
-represents @key{a}.
+For example, the vector @code{[?\C-x ?l]} represents the key sequence
+@kbd{C-x l}.
+
+  For examples of key sequences written in string and vector
+representations, @ref{Init Rebinding,,, emacs, The GNU Emacs Manual}.
+
+  The @code{kbd} macro provides a convenient way to generate an Emacs
+Lisp key sequence:
 
 @defmac kbd keyseq-text
 This macro converts the text @var{keyseq-text} (a string constant)
@@ -149,6 +146,16 @@
 keymap, Emacs can get the event's definition.  Events include
 characters, function keys, and mouse actions (@pxref{Input Events}).
 
+  At any time, several primary keymaps are @dfn{active}---that is, in
+use for finding key bindings.  These are the @dfn{global map}, which is
+shared by all buffers; the @dfn{local keymap}, which is usually
+associated with a specific major mode; and zero or more @dfn{minor mode
+keymaps}, which belong to currently enabled minor modes.  (Not all minor
+modes have keymaps.)  The local keymap bindings shadow (i.e., take
+precedence over) the corresponding global bindings.  The minor mode
+keymaps shadow both local and global keymaps.  @xref{Active Keymaps},
+for details.
+
   Each keymap is a list whose @sc{car} is the symbol @code{keymap}.  The
 remaining elements of the list define the key bindings of the keymap.
 A symbol whose function definition is a keymap is also a keymap.  Use