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

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

bug#1418: 23.0.60; Wrong character decoding in quail-insert-kbd-layout


From: Ulrich Mueller
Subject: bug#1418: 23.0.60; Wrong character decoding in quail-insert-kbd-layout
Date: Sun, 23 Nov 2008 21:57:10 +0100

Hi,

the displayed keyboard layout output by describe-input-method for the
"german" input method (but same problem for others, e.g. "french")
shows raw 8-bit characters:

     +--------------------------------------------------------------------+
     | 1! | 2" | 3\247| 4$ | 5% | 6& | 7/ | 8( | 9) | 0= |\337? | [{ | ]} |
     +--------------------------------------------------------------------+
       | qQ | wW | eE | rR | tT | zZ | uU | iI | oO | pP |\374\334| +* |
       +--------------------------------------------------------------------+
        | aA | sS | dD | fF | gG | hH | jJ | kK | lL |\366\326|\344\304| #^ |
        +-------------------------------------------------------------------+
          | yY | xX | cC | vV | bB | nN | mM | ,; | .: | -_ |
          +-------------------------------------------------+
                    +-----------------------------+
                    |          space bar          |
                    +-----------------------------+

Reproduce with:

   $ emacs -Q
   C-h I german RET

The following patch fixes the problem for me:

--- emacs-orig/lisp/international/quail.el      21 Nov 2008 20:40:16 -0000      
1.167
+++ emacs/lisp/international/quail.el   23 Nov 2008 20:37:10 -0000
@@ -830,10 +830,6 @@
              (insert-char 32 (+ row (/ (- row 2) 2)))))
        (setq lower (aref layout i)
              upper (aref layout (1+ i)))
-       (if (and (integerp lower) (>= lower 128) (< lower 256))
-           (setq lower (unibyte-char-to-multibyte lower)))
-       (if (and (integerp upper) (>= upper 128) (< upper 256))
-           (setq upper (unibyte-char-to-multibyte upper)))
        (insert bar)
        (if (= (if (stringp lower) (string-width lower) (char-width lower)) 1)
            (insert " "))

Ulrich






reply via email to

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