emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Function for deleting a key binding in a sparse keymap


From: Lennart Borgman
Subject: Re: Function for deleting a key binding in a sparse keymap
Date: Fri, 09 Dec 2005 00:59:46 +0100
User-agent: Mozilla Thunderbird 1.0.7 (Windows/20050923)

Stefan Monnier wrote:

Go through the list below step by step. As soon as a it (see KeyLookup) is
found in any keymap you are ready.

That would probably be a good idea.  E.g. you forgot to include
key-translation-map, function-key-map, keyboard-translate-table,
translation-table-for-input, maybe more?


       Stefan
This was rather hairy. Is the table below correct?


*****************************************************************************
How to find the keymap for a given key sequence in a buffer
===========================================================

Go through the list below step by step. As soon as a hit is found in
any keymap (see KeyLookup) you are ready.

*) First apply `extra-keyboard-modifiers' mask to each keyboard
  character read.

*) Each character read from the keyboard may be translated according
  to `keyboard-translate-table'.

*) Characters that are self-inserting are translated according to
  `translation-table-for-input'. If a character is self-inserting then
  you are ready.


FIRST-MAP) Look in `special-event-map'.

*) If overriding-terminal-local-map look in this. Then go to GLOBAL.

*) If overriding-local-map look in this. Then go to GLOBAL.

*) Is there a "keymap" property of the text or overlay at point?

*) Look for minor mode keymaps in `emulation-mode-map-alists'.

*) Look for minor mode keymaps in `minor-mode-map-alist'.

*) Is there a `local-map' property of the text or overlay at point?

*) Is there a "local keymap" (those are for major modes)?

GLOBAL) Look in the "global keymap".

*) If it is an ASCII function key sequences then look in
  function-key-map. This map transforms to Emacs key sequences.

*) The possibly transformed sequence after applying `function-key-map'
  is now handled to `key-translation-map' which works the same way.

*) If any transformation was made by `function-key-map' or
  `key-translation-map' then take the new sequence and go back to
  FIRST-MAP.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]