Package: emacs;
Reported by: Richard Wordingham <richard.wordingham <at> ntlworld.com>
Date: Wed, 26 Jan 2011 23:33:02 UTC
Severity: normal
Found in version 23.1
Done: Kenichi Handa <handa <at> m17n.org>
Bug is archived. No further changes may be made.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Richard Wordingham <richard.wordingham <at> ntlworld.com> To: bug-gnu-emacs <at> gnu.org Subject: 23.1; UK Keyboard (pc105-uk) Definition Wrong in quail.el Date: Wed, 26 Jan 2011 23:04:28 +0000
When I execute (quail-set-keyboard-layout "pc105-uk") quail text input methods (e.g thai-kesmanee) cease to work. (I actually encountered the error when coding up a Khmer keyboard.) When I should get the lower character key on a letter key I get the upper character, and when I type a shifted character I get the character from another key. A key diagnostic is that (length quail-keyboard-layout-standard) returns 180 (6 rows of 15 characters with 2 shift positions), but (length quail-keyboard-layout) returns 181 after setting the keyboard. The other keyboard names (in the version of Emacs 23.1 from which I am reporting) all yield lengths of 180 characters. The bug appears to be that in the definition of quail-keyboard-layout-alist in quail.el, there is an extra space in the first non-blank line of the keyboard definition of the pc105-uk definition. This bug is also present in Emacs 22.1 (by examination of quail.el) and Emacs 23.2 (demonstrated on Windows 7). A work around in my .emacs file (for Emacs 23.2, confirmed on Emacs 23.1) is the sequence (quail-set-keyboard-layout "pc105-uk") (if (> (length quail-keyboard-layout) (length quail-keyboard-layout-standard)) (setq quail-keyboard-layout (concat (substring quail-keyboard-layout 0 60) (substring quail-keyboard-layout 61 (length quail-keyboard-layout))))) This chops out the superflous character. Keyboard then works. In GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.20.1) of 2010-11-23 on rothera, modified by Debian Windowing system distributor `The X.Org Foundation', version 11.0.10706000 configured using `configure '--build=i486-linux-gnu' '--host=i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS='' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_GB.utf8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix default-enable-multibyte-characters: t Major mode: Lisp Interaction Minor modes in effect: tpu-edt-mode: t tooltip-mode: t tool-bar-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t global-auto-composition-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent input: <triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <help-echo> <C-home> <kp-begin> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <menu-bar> <help-menu> <send-emacs-bug-report> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> C-g C-x b * G G <backspace> <backspace> <tab> <down-mouse-1> <mouse-2> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <down-mouse-1> <mouse-2> <help-echo> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> <help-echo> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <C-home> <kp-multiply> B U G <return> <left> <left> <home> <kp-multiply> b u g C-g <C-home> <kp-multiply> b u g <return> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-drag-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <help-echo> <help-echo> <down-mouse-1> <mouse-1> <help-echo> C-x b * s <tab> <return> <help-echo> <down-mouse-1> <mouse-1> <down-mouse-1> <mouse-1> C-x b g C-x C-b <down-mouse-1> <mouse-1> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <down-mouse-1> <mouse-1> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <down-mouse-1> <mouse-1> C-j <backspace> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <menu-bar> <help-menu> <send-emacs-bug-report> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <menu-bar> <help-menu> <se nd-emacs-bug-report> Recent messages: /usr/bin/mail is not an executable. Setting mail-interactive to t. Quit Making completion list... uncompressing emacs.gz...done uncompressing emacs-1.gz...done Search failed: "BUG" [2 times] Mark set Quit Search failed: "bug" byte-code: End of buffer read-buffer-to-switch: Command attempted to use minibuffer while in minibuffer
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.