emacs-devel
[Top][All Lists]
Advanced

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

Re: Issues with quail.el


From: K. Handa
Subject: Re: Issues with quail.el
Date: Sat, 12 May 2018 21:24:54 +0900

Very sorry for the late response.

In article <address@hidden>, Amit Ramon <address@hidden> writes:
> > When I try to recreate what you are showing, I get the following.
> > Does this match?
> >
> >     +----------------------------------------------------------------+
> >     | 1! | 2" | 3§ | 4$ | 5% | 6& | 7/ | 8( | 9) | 0( | ß? | '` | ;^ |
> >     +----------------------------------------------------------------+
> >       | qQ | 'W | ק‎E | ר‎R | א‎T | ט‎Z | ו‎U | ן‎I | ם‎O | פ‎P | ]} | [{ |
> >       +------------------------------------------------------------+
> >        | ש‎A | ד‎S | ג‎D | כ‎F | ע‎G | י‎H | ח‎J | ל‎K | ך‎L | ף‎Ö | ,Ä | 
> > ~| |
> >     +--------------------------------------------------------------+
> >     | >< | ז‎Y | ס‎X | ב‎C | ה‎V | נ‎B | מ‎N | צ‎M | ת‎> | ץ‎< | ._ |
> >     +------------------------------------------------------+
[...]
> This is what it should look like:

>      +----------------------------------------------------------------+
>      | 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9) | 0( | -_ | =+ | `~ |
>      +----------------------------------------------------------------+
>        | /Q | 'W | ק‎E | ר‎R | א‎T | ט‎Y | ו‎U | ן‎I | ם‎O | פ‎P | ]} | [{ |
>        +------------------------------------------------------------+
>         | ש‎A | ד‎S | ג‎D | כ‎F | ע‎G | י‎H | ח‎J | ל‎K | ך‎L | ף‎: | ," | \| 
> |
>         +-----------------------------------------------------------+
>           | ז‎Z | ס‎X | ב‎C | ה‎V | נ‎B | מ‎N | צ‎M | ת‎> | ץ‎< | .? |
>           +-------------------------------------------------+
[...]
> Note, for example, the location of the "Y" and "Z", and the two keys
> right of the "L". This layout is the standard for a Hebrew keyboard
> layout (the Israeli standard, at least), and this is what a Hebrew
> writer would expect when Hebrew input method is set. (you can get it
> simply if you don't change your keyboard layout -- assuming it is the
> standard one -- and then set input method to Hebrew, and do C-h I.)

It seems that the difference is at such a key that is different from the
standard layout and that is not mapped to Hebrew.  So, I suspect that
the code (in quail-insert-kbd-layout) handling such a key should be
fixed.  Could you please try the attached patch?

[...]
> 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.

>    (add-to-list 'quail-keyboard-layout-alist
>              `("dvorak" . ,(concat "                              "
>                                  "  address@hidden&8*9(0)[{]}`~  "
>                                  "  '\",<.>pPyYfFgGcCrRlL/?=+    "
>                                  "  aAoOeEuUiIdDhHtTnNsS-_\\|    "
>                                  "  ;:qQjJkKxXbBmMwWvVzZ        "
>                                  "                              ")))

>    (quail-set-keyboard-layout "dvorak")

> If you actually evaluate this elisp code, you could call
> "quail-set-keyboard-layout" once with "dvorak" and once with
> "standard" and compare the results of C-h I (and for that you don't
> have to change the actual layout of the keyboard).

> * Emacs has (see quail.el) definitions for sun-type3, atari-german,
> pc102-de, jp106 and pc105-uk keyboard layouts only, but not Dvorak
> (anyone has an idea why? perhaps it is time to add it?)

I agree.

> [2] The definitions for the standard Hebrew input method ("hebrew" and
> "hebrew-new") do not explicitly define the first shift level. Perhap
> the author of it trusted quail to take this from the English standard
> layout (the first shift level is identical, at least most of
> it). However, perhaps it would be safer to completly define the Hebrew
> layout, including the first shift level.

For that, I don't have a strong opinion.  But, I think it is not good to
add extra code for hiding a bug of quail.

---
K. Handa
address@hidden

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)))
 



reply via email to

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