[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
This section describes functions used to scan all the current keymaps for the sake of printing help information.
This function returns a list of all the keymaps that can be reached (via
zero or more prefix keys) from keymap. The value is an association
list with elements of the form (key . map)
, where
key is a prefix key whose definition in keymap is map.
The elements of the alist are ordered so that the key increases in
length. The first element is always ([] . keymap)
, because
the specified keymap is accessible from itself with a prefix of no events.
If prefix is given, it should be a prefix key sequence; then
accessible-keymaps
includes only the submaps whose prefixes start
with prefix. These elements look just as they do in the value of
(accessible-keymaps)
; the only difference is that some elements are
omitted.
In the example below, the returned alist indicates that the key <ESC>,
which is displayed as ‘^[’, is a prefix key whose definition is the
sparse keymap (keymap (83 . center-paragraph) (115 . foo))
.
(accessible-keymaps (current-local-map))
⇒(([] keymap
(27 keymap ; Note this keymap for <ESC> is repeated below.
(83 . center-paragraph)
(115 . center-line))
(9 . tab-to-tab-stop))
("^[" keymap
(83 . center-paragraph)
(115 . foo)))
|
In the following example, C-h is a prefix key that uses a sparse
keymap starting with (keymap (118 . describe-variable)…)
.
Another prefix, C-x 4, uses a keymap which is also the value of the
variable ctl-x-4-map
. The event mode-line
is one of several
dummy events used as prefixes for mouse actions in special parts of a
window.
(accessible-keymaps (current-global-map)) ⇒ (([] keymap [set-mark-command beginning-of-line … delete-backward-char]) ("^H" keymap (118 . describe-variable) … (8 . help-for-help)) ("^X" keymap [x-flush-mouse-queue … backward-kill-sentence]) ("^[" keymap [mark-sexp backward-sexp … backward-kill-word]) ("^X4" keymap (15 . display-buffer) …) ([mode-line] keymap (S-mouse-2 . mouse-split-window-horizontally) …)) |
These are not all the keymaps you would see in actuality.
The function map-keymap
calls function once for each binding in
keymap. It passes two arguments, the event type and the value of the
binding. If keymap has a parent, the parent's bindings are included
as well. This works recursively: if the parent has itself a parent, then
the grandparent's bindings are also included and so on.
This function is the cleanest way to examine all the bindings in a keymap.
This function is a subroutine used by the where-is
command
(voir (emacs)Help section `Help' dans The GNU Emacs Manual). It returns a list of
all key sequences (of any length) that are bound to command in a set
of keymaps.
The argument command can be any object; it is compared with all keymap
entries using eq
.
If keymap is nil
, then the maps used are the current active
keymaps, disregarding overriding-local-map
(that is, pretending its
value is nil
). If keymap is a keymap, then the maps searched
are keymap and the global keymap. If keymap is a list of
keymaps, only those keymaps are searched.
Usually it's best to use overriding-local-map
as the expression for
keymap. Then where-is-internal
searches precisely the keymaps
that are active. To search only the global map, pass (keymap)
(an
empty keymap) as keymap.
If firstonly is non-ascii
, then the value is a single vector
representing the first key sequence found, rather than a list of all
possible key sequences. If firstonly is t
, then the value is
the first key sequence, except that key sequences consisting entirely of
ASCII characters (or meta variants of ASCII characters)
are preferred to all other key sequences and that the return value can never
be a menu binding.
If noindirect is non-nil
, where-is-internal
doesn't
follow indirect keymap bindings. This makes it possible to search for an
indirect definition itself.
When command remapping is in effect (voir la section Remapping Commands),
where-is-internal
figures out when a command will be run due to
remapping and reports keys accordingly. It also returns nil
if
command won't really be run because it has been remapped to some other
command. However, if no-remap is non-nil
.
where-is-internal
ignores remappings.
(where-is-internal 'describe-function) ⇒ ([8 102] [f1 102] [help 102] [menu-bar help-menu describe describe-function]) |
This function creates a listing of all current key bindings, and displays it in a buffer named ‘*Help*’. The text is grouped by modes—minor modes first, then the major mode, then global bindings.
If prefix is non-nil
, it should be a prefix key; then the
listing includes only keys that start with prefix.
The listing describes meta characters as <ESC> followed by the corresponding non-meta character.
When several characters with consecutive ASCII codes have the same
definition, they are shown together, as
‘firstchar..lastchar’. In this instance, you need to know
the ASCII codes to understand which characters this means. For
example, in the default global map, the characters ‘<SPC> .. ~’
are described by a single line. <SPC> is ASCII 32, ~ is
ASCII 126, and the characters between them include all the normal
printing characters, (e.g., letters, digits, punctuation, etc.); all these
characters are bound to self-insert-command
.
If buffer-or-name is non-nil
, it should be a buffer or a buffer
name. Then describe-bindings
lists that buffer's bindings, instead
of the current buffer's.
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.