diff options
| -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." | |||
| 237 | (defun encoded-kbd-self-insert-ccl () | 237 | (defun encoded-kbd-self-insert-ccl () |
| 238 | (interactive) | 238 | (interactive) |
| 239 | (let ((str (char-to-string last-command-char)) | 239 | (let ((str (char-to-string last-command-char)) |
| 240 | (coding (keyboard-coding-system))) | 240 | (ccl (car (aref (coding-system-spec (keyboard-coding-system)) 4))) |
| 241 | (setq str (decode-coding-string str coding)) | 241 | (vec (make-vector 9 nil)) |
| 242 | result) | ||
| 243 | (while (= (length (setq result (ccl-execute-on-string ccl vec str t))) 0) | ||
| 244 | (setq str (format "%s%c" str (read-char-exclusive)) | ||
| 245 | vec (make-vector 9 nil))) | ||
| 242 | (setq unread-command-events | 246 | (setq unread-command-events |
| 243 | (append (string-to-list str) unread-command-events)))) | 247 | (append (string-to-list result) unread-command-events)))) |
| 244 | 248 | ||
| 245 | (defun encoded-kbd-setup-keymap (coding) | 249 | (defun encoded-kbd-setup-keymap (coding) |
| 246 | ;; At first, reset the keymap. | 250 | ;; At first, reset the keymap. |
| @@ -277,7 +281,7 @@ The following key sequence may cause multilingual text insertion." | |||
| 277 | 281 | ||
| 278 | ((eq encoded-kbd-coding 'ccl) | 282 | ((eq encoded-kbd-coding 'ccl) |
| 279 | (let ((valid-codes (or (coding-system-get coding 'valid-codes) | 283 | (let ((valid-codes (or (coding-system-get coding 'valid-codes) |
| 280 | '((128 255)))) | 284 | '((128 . 255)))) |
| 281 | elt from to) | 285 | elt from to) |
| 282 | (while valid-codes | 286 | (while valid-codes |
| 283 | (setq elt (car valid-codes) valid-codes (cdr valid-codes)) | 287 | (setq elt (car valid-codes) valid-codes (cdr valid-codes)) |