Mercurial > emacs
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