bug-gnu-emacs
[Top][All Lists]
Advanced

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

Re: view-lossage displays umlauts incorrectly (fwd)


From: Kenichi Handa
Subject: Re: view-lossage displays umlauts incorrectly (fwd)
Date: Fri, 15 Dec 2000 09:48:47 +0900 (JST)

> ---------- Forwarded message ----------
> Date: Wed, 13 Dec 2000 02:30:34 +0100 (MET)
> From: Ulrich Neumerkel <address@hidden>
> To: address@hidden
> Subject: view-lossage displays umlauts incorrectly

> While simple umlauts are displayed correctly with C-h l, the keystroke
> "C-ä" is shown as "\204" as seen below.  I tried it in various
> configurations (multibyte, unibyte etc) without better results.
> The underlying function (recent-keys) has the same problem.

> Recent input:
> ä \204 menu-bar help-menu report-emacs-bug

Currently, Emacs receives convert the event (control + ä) to
\204 (by make_ctrl_char), but we loose the information about
the original key (control + ä).

In the case of C-a, we also loose the same information, but,
we recover the information by heuristics in the following
code (push_key_description).

  if (c < 040)
    {
[...]
      else
        {
          /* `C-' already added above.  */
          if (c > 0 && c <= Ctl ('Z'))
            *p++ = c + 0140;
          else
            *p++ = c + 0100;
        }
    }

But, for the case of \204, we don't know what kind of
heuristics to use.  For instance, for latin-1 users,

  if (c >= \200 && c < \240)
    *p++ = 0140; /* \200..\237 -> à..ÿ */

will work well, though, it seems too adhoc.

The complete solution will be to keep the information of
original key (i.e. control + ä) as far as possible.  Then
push_key_description doesn't have to guess.

The problem is that it requires a rather dangerous change to
the deep level of Emacs code, and it seems not appropriate
at this moment of beta test.  And, anyway, the current
behaviour is not seriously bad.  So, I think we should solve
this problem not now but in 21.2.

---
Ken'ichi HANDA
address@hidden



reply via email to

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