|
From: | Perry E. Metzger |
Subject: | Re: not quite understanding input methods |
Date: | Wed, 1 Sep 2021 08:58:46 -0400 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:92.0) Gecko/20100101 Thunderbird/92.0 |
On 9/1/21 03:23, Juri Linkov wrote:
I've been looking at this a bit. If you simply lift the limitation in read_char everything downstream fails. It appears that the limitation is partially caused by the fact that quail.el expects to be able to create dense keymaps of size limited to 255, though that might not be the only problem. Note that fixing this won't be overly difficult, but it would need to be fixed in anything that can supply a `input-method-function` that is hooked by read_char.Emacs 28 has the input method "Compose" corresponding to XKB's Compose in leim/quail/compose.el, but many useful key sequences in this input method don't work because of the artificial limitation to ASCII-only chars in read_char.
(BTW, as a pure aside: why aren't keymaps hash tables? Is that purely historical?)
(FYI, I fear that after the last few days of reading I may be the expert on how all of this works, which is terrifying because I feel completely lost in the code. It's a maze. It's pretty rare that I see a part of Emacs that I feel should be nuked from orbit, but the input subsystem feels that way; a rewrite would be required to make it actually comprehensible, but a rewrite would also break enormous amounts of stuff that people depend on.)
Perry
[Prev in Thread] | Current Thread | [Next in Thread] |