[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
infinite loop in encoded-kb/iso-transl (emacs 21.4)
From: |
Chip Coldwell |
Subject: |
infinite loop in encoded-kb/iso-transl (emacs 21.4) |
Date: |
Fri, 10 Nov 2006 15:37:25 -0500 (EST) |
I've run into an infinite loop using utf-8 keyboard encoding with
iso-transl on emacs 21.4. To reproduce the problem, run
C-x RET k utf-8
followed by
C-x 8 !
The inverted exclamation mark this is expected to produce is key 161.
If one evaluates
(key-binding [161])
the result is encoded-kbd-self-insert-ccl. This function executes a
code conversion language (CCL) program, ccl-decode-mule-utf-8, on the
last-command-char, then sets unread-command-events to the resulting
value. This value is again 161 (octal 241), as can be verified by
evaluating
(let ((str (char-to-string 161))
(vec [nil nil nil nil nil nil nil nil nil]))
(ccl-execute-on-string ccl-decode-mule-utf-8 vec str t))
I think the issue here might be that encoded-kb.el installs a minor
mode keymap for encoded-kbd-mode, and iso-transl.el installs a
key-translation-map. I don't think we should do both.
Note that if you evaluate
(set-keyboard-coding-system nil)
then
(key-binding [161])
evaluates to self-insert-command and
C-x 8 !
works as expected.
I solicit your comments and advice.
Chip
--
Charles M. "Chip" Coldwell
Senior Software Engineer
Red Hat, Inc
978-392-2426
- infinite loop in encoded-kb/iso-transl (emacs 21.4),
Chip Coldwell <=