[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
discrepancy between read-key-sequence and manual
From: |
David Kastrup |
Subject: |
discrepancy between read-key-sequence and manual |
Date: |
Mon, 11 Sep 2006 15:42:19 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
(info "(elisp) Active Keymaps")
states:
Normally the active keymaps are the `keymap' property keymap, the
keymaps of any enabled minor modes, the current buffer's local
keymap, and the global keymap, in that order. Therefore, Emacs
searches for each input key sequence in all these keymaps. Here is
a pseudo-Lisp description of how this process works:
(or (if overriding-terminal-local-map
(FIND-IN overriding-terminal-local-map)
(if overriding-local-map
(FIND-IN overriding-local-map)
(or (FIND-IN (get-text-property (point) 'keymap))
(FIND-IN-ANY emulation-mode-map-alists)
(FIND-IN-ANY minor-mode-overriding-map-alist)
(FIND-IN-ANY minor-mode-map-alist)
(if (get-text-property (point) 'local-map)
(FIND-IN (get-text-property (point) 'local-map))
(FIND-IN (current-local-map))))))
(FIND-IN (current-global-map)))
However, the code in read-key-sequence actually does
(or (if (or overriding-terminal-local-map
overriding-local-map)
(or (FIND-IN overriding-terminal-local-map)
(FIND-IN overriding-local-map))
[...]
Namely, if overriding-terminal-local-map is present but no match is
found in it, overriding-local-map is also searched for a match.
Should the code be made to match the documentation, or the other way
round?
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
- discrepancy between read-key-sequence and manual,
David Kastrup <=