emacs-devel
[Top][All Lists]
Advanced

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

Re: Issues with quail.el


From: Amit Ramon
Subject: Re: Issues with quail.el
Date: Sat, 19 May 2018 15:01:24 +0300

Hi,

K. Handa <address@hidden> [2018-05-17 21:31 +0900]:

Hi,

In article <address@hidden>, address@hidden (K. Handa) writes:

diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index eece836354..a81244a1db 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -815,7 +815,7 @@ quail-insert-kbd-layout
                             (aref (cdr translation) 0)
                           " ")))
              (setq done-list (cons translation done-list)))
-         (setq translation (aref kbd-layout i)))
+         (setq translation ch))
        (aset layout i translation))
       (setq i (1+ i)))

Have you tried the above patch?  Did it work?

Yes, I've tried this patch with my Dvorak keyboard layout and Hebrew
input method and it works great. I've also tried it with atari-german
keyboard layout and Hebrew-new input method.

There are still some slight issued, for example the quail's definition
of the standard keyboard layout is based on VT100 layout, which is
different in some minor aspects from a standard PC keyboard (e.g. the
location of the tilde key), but this is not related to the problem
this patch fixes.


[...]
> What I get for the second letter (TET, ט) is:

>    ט can't be input by the current input method

I confimed this bug, but it seems that fixing take more time.   Please wait.

Here's the patch to fix it.  Could you please try it?

I tested this patch with the configurations mentioned above (after
fixing the cdr/car typo mentioned by Filipp Gunbin in a different mail
in this thread) and, again, it fixes the problem.

There are still some issued that are, perhaps, related to a broader
question, I'll try to describe them briefly here, but I think they
should not stop us from applying your fixes.

1. Key sequences

Lets assume I'm using a Dvorak keyboard layout and a Hebrew input
method. This input method include some key sequences for typing some
special Hebrew signs. For example, for inputting HEBREW PUNCTUATION
MAQAF (־), one has to type q-p. When the keyboard layout is standard,
there is no problem. When it is Dvorak, C-h I still says you have to
type q-p, and it works if you press the keys that are q-p in the
standard layout, but since I use Dvoark it is (for me) '-l. Here comes
the question of what the input method really wants -- to keep the
actual location of the keys you need to type a sequence constant, or
that the constant should be the keys themselves (i.e., their meaning).

On the other hand, when quail-show-key is asked to find what to type
for entering HEBREW PUNCTUATION MAQAF, it says '-l -- this is the
actual meaning of the keys need to be typed for a Dvorak layout.

2. Shifted keys

This is somewhat similar to the above. If (Hebrew + Dvorak layout) I
ask quail-show-key to tell what to type for inputting Z, it tells me
"To input 'Z', just type it".

But (again, Hebrew input method is active) this is not really true
since my keyboard layout is Dvorak -- to enter Z in Hebrew input
method I need to press Shift-;, since the key that has ; in Dvorak is
the z key in the standard layout.

These are, maybe, questions of semantics and context -- when one say
that I have to type q-p (to get HEBREW MAQAF), is it in the context of
my real keyboard (then it is not true for Dvoark), or is it in the
context of a standard keyboard (and then it is confusing people who're
using, say, a Dvorak keyboard).

It seems to me that these questions need some more thinking, at least
for me. In the meantime, I'm just putting them here.

Thanks again for the two fixes,

Amit

P.s. Handa san, I have some technical questions and, perhaps, some
suggestions for simplifying some parts of quail.el (assuming I'm
not completely misunderstanding it) -- would you be interested to
hear? If so, shall I post my questions in this thread or, perhaps,
send them directly to you?






reply via email to

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