* encoded-kbd-mode
@ 2007-03-31 23:20 Richard Stallman
2007-04-02 2:02 ` encoded-kbd-mode Kenichi Handa
0 siblings, 1 reply; 3+ messages in thread
From: Richard Stallman @ 2007-03-31 23:20 UTC (permalink / raw)
To: handa; +Cc: emacs-devel
Would you please explain to me the cause of the problems
in converting Meta characters? I want to fully understand
why binding (meta ?é) won't work on Windows.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: encoded-kbd-mode
2007-03-31 23:20 encoded-kbd-mode Richard Stallman
@ 2007-04-02 2:02 ` Kenichi Handa
2007-04-03 7:46 ` encoded-kbd-mode Richard Stallman
0 siblings, 1 reply; 3+ messages in thread
From: Kenichi Handa @ 2007-04-02 2:02 UTC (permalink / raw)
To: rms; +Cc: emacs-devel
In article <E1HXmsR-0000yZ-2g@fencepost.gnu.org>, Richard Stallman <rms@gnu.org> writes:
> Would you please explain to me the cause of the problems
> in converting Meta characters? I want to fully understand
> why binding (meta ?é) won't work on Windows.
Encoded-kdb-mode is designed to convert raw-byte event
sequence into character event sequence by utilizing keymap
look-up mechanism. So, it creates key-translation-map that
maps raw-byte events to proper commands or to deeper maps.
To make it handle a raw-byte event with modifers, we must
create key-bindings for all combinations of modifiers. It
may leads to combinatorial-explosion. We may be able to
catch all events by [t], but that requires another event
parsing state (extract modifiers from the event, remember it
in some variable, delete modifiers from the event, feed it
again to key-translation-map, modify the last character
event generator to handle the remembered modifiers, etc).
Another anxiety is for those Windows user who have already
found this workaround:
(global-set-key [?\M-\351] ...)
If we make [?\M-é] work for Windows now, the above setting
stops working. I think people accept such a breakage more
tolerantly if the change is for emacs-unicode.
---
Kenichi Handa
handa@m17n.org
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: encoded-kbd-mode
2007-04-02 2:02 ` encoded-kbd-mode Kenichi Handa
@ 2007-04-03 7:46 ` Richard Stallman
0 siblings, 0 replies; 3+ messages in thread
From: Richard Stallman @ 2007-04-03 7:46 UTC (permalink / raw)
To: Kenichi Handa; +Cc: emacs-devel
Encoded-kdb-mode is designed to convert raw-byte event
sequence into character event sequence by utilizing keymap
look-up mechanism. So, it creates key-translation-map that
maps raw-byte events to proper commands or to deeper maps.
To make it handle a raw-byte event with modifers, we must
create key-bindings for all combinations of modifiers.
That is one possible approach. Another approach would be to have it
remove the modifier, convert the character, and then add the modifier
back. Maybe that is easier. It doesn't have to be done IN
encoded-kdb-mode. It could be done by some higher level of input
processing.
We may be able to
catch all events by [t], but that requires another event
parsing state (extract modifiers from the event, remember it
in some variable, delete modifiers from the event, feed it
again to key-translation-map, modify the last character
event generator to handle the remembered modifiers, etc).
That doesn't sound very hard. Would it fix the bug?
Another anxiety is for those Windows user who have already
found this workaround:
(global-set-key [?\M-\351] ...)
If we make [?\M-é] work for Windows now, the above setting
stops working.
If anyone wants to complain that a bizarre and incorrect work-around
ceases to work, he will be satisfied when he learns that this is due
to a fix that makes "the right thing" work properly.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-04-03 7:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-31 23:20 encoded-kbd-mode Richard Stallman
2007-04-02 2:02 ` encoded-kbd-mode Kenichi Handa
2007-04-03 7:46 ` encoded-kbd-mode Richard Stallman
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).