[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: uppercase->lowercase and function-key-map
From: |
Stefan Monnier |
Subject: |
Re: uppercase->lowercase and function-key-map |
Date: |
Fri, 24 May 2002 11:03:45 -0400 |
> When ESC O H fails to be found in function-key-map and the `H' is
> turned into `h' should `ESC O h' be looked up in function-key-map again ?
>
> My gut feeling says no and a comment in read_key_sequence agrees:
>
> /* If the sequence is unbound, see if we can hang a function key
> off the end of it. We only want to scan real keyboard input
> for function key sequences, so if mock_input says that we're
> re-reading old events, don't examine it. */
>
> I think that comment is inconclusive. However, the manual says that
> key-translation-map operates on the output from function-key-map
> and not vice versa. That suggests you are right.
>
> where the `fkey_start = prev_fkey_start' implies that we might rescan
> the new key sequence for function-key-map bindings (whether and
> when this rescan actually happen, I don't really know because the
> code is not the clearest ever).
>
> That could be a bug. The results of key-translation-map translations
> should not be reprocessed through function-key-map.
By "`H' is turned into `h'" above I meant "by the upper->lower mechanism"
rather than by key-translation-map. More to the point, my question
completely disregarded key-translation-map (it's complex enough without it).
So to repeat it: if `ESC O H' is not found in the function-key-map
and neither in key-translation-map and neither in any active map,
Emacs will turn it into `ESC O h' and "try again".
Now should the "try again" include looking up function-key-map ?
And/or should the "try again" include looking up key-translation-map ?
Or should it only include looking up normal active keymaps ?
Stefan