]> git.eshelyaron.com Git - emacs.git/commitdiff
(kkc-mode-map): Bind meta-prefix-char to a
authorKenichi Handa <handa@m17n.org>
Thu, 11 Sep 1997 11:52:38 +0000 (11:52 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 11 Sep 1997 11:52:38 +0000 (11:52 +0000)
map which only has default key binding to
quail-execute-non-quail-command.
(kkc-non-kkc-command): Handle the key sequence as the same way as
universal-argument-other-key.

lisp/international/kkc.el

index a45de7f7232a4f8a32d0840de5a4a3e83a1a3e1a..a9da69c783424fd46cb72a1a71768c7b33fb74a4 100644 (file)
@@ -102,7 +102,13 @@ This string is shown at mode line when users are in KKC mode.")
     (define-key map [?\C-\ ] 'kkc-first-char-only)
     (define-key map [delete] 'kkc-cancel)
     (define-key map [return] 'kkc-terminate)
-    (append map '((t . kkc-non-kkc-command))))
+    (let ((meta-map (make-sparse-keymap)))
+      (define-key map (char-to-string meta-prefix-char) meta-map)
+      (define-key map [escape] meta-map))
+    (define-key map (vector meta-prefix-char t) 'kkc-non-kkc-command)
+    ;; At last, define default key binding.
+    (define-key map [t] 'kkc-non-kkc-command)
+    map)
   "Keymap for KKC (Kana Kanji Conversion) mode.")
 
 (defun kkc-mode ()
@@ -262,7 +268,9 @@ Optional arg KKC-MODE-EXIT-FUNCTION if non-nil is called on exiting KKC mode."
   "Exit from KKC mode by fixing the current conversion.
 After that, handle the event which invoked this command."
   (interactive)
-  (setq unread-command-events (list last-input-event))
+  (let* ((key (this-command-keys))
+        (keylist (listify-key-sequence key)))
+    (setq unread-command-events (append keylist unread-command-events)))
   (kkc-terminate))
 
 (defun kkc-cancel ()