unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Kenichi Handa <handa@m17n.org>
Cc: lekktu@gmail.com, emacs-devel@gnu.org, rms@gnu.org, jasonr@gnu.org
Subject: Re: kbd vs read-key-sequence
Date: Mon, 12 Mar 2007 23:12:12 -0400	[thread overview]
Message-ID: <jwv7itl7sfl.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <E1HQvdW-0007G3-Ie@etlken.m17n.org> (Kenichi Handa's message of "Tue\, 13 Mar 2007 10\:17\:10 +0900")

>> >     Because the way the event is decoded through read-key-sequence is
>> >     not necessarily the same.  E.g. while ?<encoded-?> may get turned
>> >     into ??, it may be the case that ?\M-<encoded-?> stays unchanged.

>> > How does that happen?

>> See the OP.  It seems that encoded-kb.el has such a limitation (it should
>> probably be considered as a bug, but there may be good reasons for it,
>> I don't know).

> At first, encoded-kbd-mode is designed to be used in the case that Emacs
> is invoked with -nw, and it uses key-translation-map to handle character
> events from 0 to 255 (that's all what happens with -nw).

That's true, so it's probably the reason for the limitation: all meta keys
are expected to come with an ESC prefix, so the code has no good reason to
handle ?\M-<foo> chars.

> I think the following diagram is the right thing to do:

>        window-system        terminal
>              |                 |
>              | window event    | character event 0..255
>              |                 |
>        handle_one_xevent    keyboad-coding-system decoder
>               \               /
>                \ lispy event /
>                 \           /
>                  \         /
>                   read_char
>                       |
>                  input method
>                       |
>                    keymap

Agreed.

> And, it's in my todo list to abolish encoded-kbd-mode and
> implement keyboard-coding-system decoder in C for long, but
> unfortunately I still don't have a time to do that.

Does it have to be done in C?

> As shown in the previous diagram, I think it's a bug of w32
> code if it doesn't convert such an event as ?\M-<encoded-?>
> into ?\M-é because only a window system generates such an
> event and knows how to encode it.

Agreed.  The bug is that w32 shouldn't be using encoded-kb.

> One guideline is not to use encoded-kbd-mode on window system.

But that's the only available way in w32, IIUC.


        Stefan

  reply	other threads:[~2007-03-13  3:12 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-28 22:27 kbd vs read-key-sequence Juanma Barranquero
2007-02-28 22:40 ` Andreas Schwab
2007-02-28 22:50   ` Lennart Borgman (gmail)
2007-02-28 23:32   ` Juanma Barranquero
2007-03-01  1:35     ` Juanma Barranquero
2007-03-01  5:28       ` Stefan Monnier
2007-03-01 12:48         ` Juanma Barranquero
2007-03-01 15:32           ` Stefan Monnier
2007-03-01 17:30             ` Juanma Barranquero
2007-03-01 23:23               ` Stefan Monnier
2007-03-01 23:53                 ` Juanma Barranquero
2007-03-02  0:03                   ` Juanma Barranquero
2007-03-02  9:09                     ` Jason Rumney
2007-03-02  9:48                       ` Juanma Barranquero
2007-03-02 16:47                   ` Stefan Monnier
2007-03-02 17:29                     ` Juanma Barranquero
2007-03-02 17:57                       ` Jason Rumney
2007-03-02 18:15                         ` Juanma Barranquero
2007-03-02 18:20                           ` David Kastrup
2007-03-02 21:03                           ` Stefan Monnier
2007-03-03  0:31                             ` Juanma Barranquero
2007-03-03 22:13                             ` Richard Stallman
2007-03-03 23:01                               ` Stefan Monnier
2007-03-05  2:55                                 ` Richard Stallman
2007-03-05 17:10                                   ` Stefan Monnier
2007-03-11 20:01                                     ` Richard Stallman
2007-03-12 15:19                                       ` Stefan Monnier
2007-03-13  1:17                                         ` Kenichi Handa
2007-03-13  3:12                                           ` Stefan Monnier [this message]
2007-03-13  4:06                                             ` Kenichi Handa
2007-03-13 14:47                                               ` Stefan Monnier
2007-03-19  5:14                                           ` Richard Stallman
2007-03-19 12:25                                             ` Kenichi Handa
2007-03-19 14:19                                               ` Kim F. Storm
2007-03-26  3:52                                               ` Richard Stallman
2007-03-26  7:22                                                 ` Kenichi Handa
2007-03-26 23:14                                                   ` Richard Stallman
2007-03-27  0:30                                                     ` Kenichi Handa
2007-03-27 16:42                                                       ` Richard Stallman
2007-03-28  0:29                                                         ` Kenichi Handa
2007-03-29 15:32                                                           ` Richard Stallman
2007-03-29 16:11                                                             ` Stefan Monnier
2007-03-30 21:23                                                               ` Richard Stallman
2007-03-31  0:38                                                                 ` Stefan Monnier
2007-03-31 10:07                                                                   ` Eli Zaretskii
2007-03-31 23:20                                                                     ` Richard Stallman
2007-04-01  3:09                                                                       ` Eli Zaretskii
2007-04-01 13:59                                                                         ` Richard Stallman
2007-04-01 19:14                                                                           ` Stefan Monnier
2007-04-01 20:18                                                                             ` Jason Rumney
2007-04-01 20:35                                                                               ` Stefan Monnier
2007-04-02 12:00                                                                                 ` Eli Zaretskii
2007-04-02  2:27                                                                               ` Kenichi Handa
2007-04-02 11:58                                                                                 ` Eli Zaretskii
2007-04-02 12:31                                                                                   ` Kenichi Handa
2007-04-02 12:46                                                                                     ` Eli Zaretskii
2007-04-02 14:33                                                                                       ` Stefan Monnier
2007-04-02 16:14                                                                                     ` Jason Rumney
2007-04-02 23:24                                                                                       ` Davis Herring
2007-04-03  6:58                                                                                         ` Jason Rumney
2007-04-03  7:46                                                                                       ` Richard Stallman
2007-04-03  8:42                                                                                         ` Eli Zaretskii
2007-04-03 14:58                                                                                           ` Stefan Monnier
2007-04-03 15:34                                                                                             ` Eli Zaretskii
2007-04-03 17:59                                                                                               ` Stefan Monnier
2007-04-03 18:20                                                                                                 ` Eli Zaretskii
2007-04-03 18:33                                                                                                   ` Stefan Monnier
2007-04-04 14:02                                                                                                 ` Richard Stallman
2007-04-04 14:02                                                                                             ` Richard Stallman
2007-04-03  9:05                                                                                         ` Jason Rumney
2007-04-03  9:37                                                                                           ` Eli Zaretskii
2007-04-03 10:24                                                                                             ` Jason Rumney
2007-04-04 14:02                                                                                           ` Richard Stallman
2007-04-03 10:12                                                                                       ` Eli Zaretskii
2007-04-04 14:02                                                                                         ` Richard Stallman
2007-04-04 18:03                                                                                           ` Eli Zaretskii
2007-03-31 20:42                                                                   ` Richard Stallman
2007-03-31 21:44                                                                     ` Eli Zaretskii
2007-03-31 22:06                                                                       ` Juanma Barranquero
2007-03-30  0:47                                                             ` Kenichi Handa
2007-03-30  3:25                                                               ` Stefan Monnier
2007-03-31 10:03                                                                 ` Eli Zaretskii
2007-03-31 20:27                                                                   ` Stefan Monnier
2007-03-30 21:22                                                               ` Richard Stallman
2007-03-31 10:02                                                               ` Eli Zaretskii
2007-03-19  5:14                                         ` Richard Stallman
2007-03-26 23:14                                         ` Richard Stallman
2007-03-28  0:57                                           ` Stefan Monnier
2007-03-28 16:09                                             ` Richard Stallman
2007-03-28 19:52                                               ` Stefan Monnier
2007-03-29 17:59                                                 ` Richard Stallman
2007-03-30 23:47                                               ` Chong Yidong
2007-03-31  9:08                                                 ` Eli Zaretskii
2007-03-03 22:13                           ` Richard Stallman
2007-03-02 18:21                         ` Juanma Barranquero
2007-03-02 19:04                           ` Jason Rumney
2007-03-03 10:39                       ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwv7itl7sfl.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    --cc=handa@m17n.org \
    --cc=jasonr@gnu.org \
    --cc=lekktu@gmail.com \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).