]> git.eshelyaron.com Git - emacs.git/commitdiff
(quail-title): Fix for the case that a title of an input method is
authorKenichi Handa <handa@m17n.org>
Mon, 5 Mar 2001 11:37:33 +0000 (11:37 +0000)
committerKenichi Handa <handa@m17n.org>
Mon, 5 Mar 2001 11:37:33 +0000 (11:37 +0000)
specified by a list of the same form as used in mode-line-format.

lisp/ChangeLog
lisp/international/quail.el

index 47b890b69f5b10ff65d499d1b20dff5b4e8ab543..6a5d0e4aefb2f55535790ae0c4e53524f6a4d43b 100644 (file)
@@ -1,5 +1,9 @@
 2001-03-05  Kenichi Handa  <handa@etl.go.jp>
 
+       * international/quail.el (quail-title): Fix for the case that a
+       title of an input method is specified by a list of the same form
+       as used in mode-line-format.
+
        * international/mule-cmds.el (activate-input-method): If
        current-input-method-title is set by activating INPUT-METHOD,
        respect that value.
index 6d26a01aa350433394bde70a1a70b9231a0fbda4..54712c31dcd15d966b596f624b5ffd49acd3e4e9 100644 (file)
@@ -127,7 +127,22 @@ See the documentation of `quail-define-package' for the other elements.")
   (nth 0 quail-current-package))
 (defsubst quail-title ()
   "Return the title of the current Quail package."
-  (nth 1 quail-current-package))
+  (let ((title (nth 1 quail-current-package)))
+    ;; TITLE may be a string or a list.  If it is a list, each element
+    ;; is a string or the form (VAR STR1 STR2), and the interpretation
+    ;; of the list is the same as that of mode-line-format.
+    (if (stringp title)
+       title
+      (condition-case nil
+         (mapconcat
+          (lambda (x) 
+            (cond ((stringp x) x)
+                  ((and (listp x) (symbolp (car x)) (= (length x) 3))
+                   (if (symbol-value (car x))
+                       (nth 1 x) (nth 2 x)))
+                  (t "")))
+          title "")
+       (error "")))))
 (defsubst quail-map ()
   "Return the translation map of the current Quail package."
   (nth 2 quail-current-package))