summaryrefslogtreecommitdiff
path: root/lisp/international/encoded-kb.el
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2002-05-14 07:50:09 +0000
committerKenichi Handa <handa@m17n.org>2002-05-14 07:50:09 +0000
commitdbeabda3e30199dbb3ecf3dfd85133dc2ce76e84 (patch)
tree215db36a6bdc8fee1ed47faa6270929b7488f892 /lisp/international/encoded-kb.el
parented0cb46526376a3a2754cf1ef60210b9690f5b97 (diff)
downloademacs-dbeabda3e30199dbb3ecf3dfd85133dc2ce76e84.tar.gz
(encoded-kbd-self-insert-iso2022-8bit): New arg ARG. Directly
call self-insert-command. This is a temporary workaround to make it work with latin-1. (encoded-kbd-mode): Change `sjis' to `shift-jis'.
Diffstat (limited to 'lisp/international/encoded-kb.el')
-rw-r--r--lisp/international/encoded-kb.el24
1 files changed, 14 insertions, 10 deletions
diff --git a/lisp/international/encoded-kb.el b/lisp/international/encoded-kb.el
index 2cdeba4baaf..4e17d62691c 100644
--- a/lisp/international/encoded-kb.el
+++ b/lisp/international/encoded-kb.el
@@ -189,23 +189,27 @@ The following key sequence may cause multilingual text insertion."
(aset encoded-kbd-iso2022-invocations 2 nil)
(setq unread-command-events (cons char unread-command-events))))
-(defun encoded-kbd-self-insert-iso2022-8bit ()
- (interactive)
+(defun encoded-kbd-self-insert-iso2022-8bit (arg)
+ (interactive "p")
(cond
((= last-command-char ?\216) ; SS2 (Single Shift 2)
(aset encoded-kbd-iso2022-invocations 2 2))
((= last-command-char ?\217) ; SS3 (Single Shift 3)
(aset encoded-kbd-iso2022-invocations 2 3))
(t
- (let* ((charset (aref encoded-kbd-iso2022-designations
- (or (aref encoded-kbd-iso2022-invocations 2)
- (aref encoded-kbd-iso2022-invocations 1))))
- (char (if (= (charset-dimension charset) 1)
- (make-char charset last-command-char)
+ (let* ((charset (aref encoded-kbd-iso2022-designations
+ (or (aref encoded-kbd-iso2022-invocations 2)
+ (aref encoded-kbd-iso2022-invocations 1))))
+ (char (if (= (charset-dimension charset) 1)
+ (make-char charset last-command-char)
(make-char charset last-command-char
(read-char-exclusive)))))
- (aset encoded-kbd-iso2022-invocations 2 nil)
- (setq unread-command-events (cons char unread-command-events))))))
+ (aset encoded-kbd-iso2022-invocations 2 nil)
+ ;; As simply setting unread-command-events may result in
+ ;; infinite-loop for characters 160..255, this is a temporary
+ ;; workaround until we found a better solution.
+ (let ((last-command-char char))
+ (self-insert-command arg))))))
(defun encoded-kbd-self-insert-sjis ()
(interactive)
@@ -311,7 +315,7 @@ as a multilingual text encoded in a coding system set by
(setq encoded-kbd-mode nil)
(error "No coding system for keyboard input is set"))
- ((eq (coding-system-type coding) 'sjis)
+ ((eq (coding-system-type coding) 'shift-jis)
(set-input-mode
(nth 0 saved-input-mode) (nth 1 saved-input-mode)
'use-8th-bit (nth 3 saved-input-mode))