# HG changeset patch # User Gerd Moellmann # Date 986465376 0 # Node ID 9e69de8a50489872a2390cdc0e9c5d613db734f0 # Parent a50c338bd5e7236953187f1f151e9ed6e74eeb30 ("japanese-hankaku-kana"): Don't use the same translations as for `japanese'. diff -r a50c338bd5e7 -r 9e69de8a5048 leim/quail/japanese.el --- a/leim/quail/japanese.el Thu Apr 05 09:46:15 2001 +0000 +++ b/leim/quail/japanese.el Thu Apr 05 10:09:36 2001 +0000 @@ -485,9 +485,24 @@ 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 @@ (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)))))