diff options
author | Kenichi Handa <handa@m17n.org> | 2001-03-23 10:45:20 +0000 |
---|---|---|
committer | Kenichi Handa <handa@m17n.org> | 2001-03-23 10:45:20 +0000 |
commit | 4c8d5b4b784cadd5ae39df3beeab13aa5f4b194f (patch) | |
tree | b32182fa4bb6aee874bbde602b079dda451f7a42 /lisp/international/encoded-kb.el | |
parent | e0ecbf5c163626f2580ca3500f49e8c439de2fb1 (diff) | |
download | emacs-4c8d5b4b784cadd5ae39df3beeab13aa5f4b194f.tar.gz |
(encoded-kbd-self-insert-ccl): Call ccl-execute-on-string directly so
that CCL program handling multibyte sequence can work correctly.
(encoded-kbd-setup-keymap): Fix the default value of `valid-codes'
property of the coding system.
Diffstat (limited to 'lisp/international/encoded-kb.el')
-rw-r--r-- | lisp/international/encoded-kb.el | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lisp/international/encoded-kb.el b/lisp/international/encoded-kb.el index ef1fd423004..68a04bafff4 100644 --- a/lisp/international/encoded-kb.el +++ b/lisp/international/encoded-kb.el @@ -237,10 +237,14 @@ The following key sequence may cause multilingual text insertion." (defun encoded-kbd-self-insert-ccl () (interactive) (let ((str (char-to-string last-command-char)) - (coding (keyboard-coding-system))) - (setq str (decode-coding-string str coding)) + (ccl (car (aref (coding-system-spec (keyboard-coding-system)) 4))) + (vec (make-vector 9 nil)) + result) + (while (= (length (setq result (ccl-execute-on-string ccl vec str t))) 0) + (setq str (format "%s%c" str (read-char-exclusive)) + vec (make-vector 9 nil))) (setq unread-command-events - (append (string-to-list str) unread-command-events)))) + (append (string-to-list result) unread-command-events)))) (defun encoded-kbd-setup-keymap (coding) ;; At first, reset the keymap. @@ -277,7 +281,7 @@ The following key sequence may cause multilingual text insertion." ((eq encoded-kbd-coding 'ccl) (let ((valid-codes (or (coding-system-get coding 'valid-codes) - '((128 255)))) + '((128 . 255)))) elt from to) (while valid-codes (setq elt (car valid-codes) valid-codes (cdr valid-codes)) |