From: Gerd Moellmann Date: Thu, 5 Apr 2001 10:09:36 +0000 (+0000) Subject: ("japanese-hankaku-kana"): Don't use X-Git-Tag: emacs-pretest-21.0.101~1 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5853ec9c7c69d28d7b97e9620070c32e056520ab;p=emacs.git ("japanese-hankaku-kana"): Don't use the same translations as for `japanese'. --- diff --git a/leim/quail/japanese.el b/leim/quail/japanese.el index 69239d5b9f6..f9f2837c6cc 100644 --- a/leim/quail/japanese.el +++ b/leim/quail/japanese.el @@ -485,9 +485,24 @@ qq: toggle between this input method and the input method `japanese-ascii'. nil t t nil nil nil nil nil 'quail-japanese-hankaku-update-translation) -;; Use the same map as that of `japanese'. -(setcar (cdr (cdr quail-current-package)) - (nth 2 (assoc "japanese" quail-package-alist))) +(dolist (elt quail-japanese-transliteration-rules) + (quail-defrule (car elt) + (let ((trans (nth 1 elt))) + (when (or (stringp trans) (vectorp trans)) + (let ((s (japanese-hankaku (if (stringp trans) + trans + (aref trans 0))))) + ;; If the result of the conversion is a string + ;; containing more than one character, make the + ;; result a vector, so that quail-defrule + ;; recognizes the whole string is the + ;; translation, instead of interpreting + ;; individual characters as alternative + ;; translations. + (if (and (stringp s) (> (length s) 1)) + (setq trans (vector s)) + (setq trans s)))) + trans))) (quail-define-package "japanese-hiragana" "Japanese" "あ" @@ -520,9 +535,9 @@ qq: toggle between this input method and the input method `japanese-ascii'. (dolist (elt quail-japanese-transliteration-rules) (quail-defrule (car elt) (let ((trans (nth 1 elt))) - (cond((stringp trans) - (japanese-katakana trans)) - ((vectorp trans) - (vector (japanese-katakana (aref trans 0)))) - (t trans))))) + (cond ((stringp trans) + (japanese-katakana trans)) + ((vectorp trans) + (vector (japanese-katakana (aref trans 0)))) + (t trans)))))