changeset 17764:561a8476368f

(use-quail-package): Error message added. (quail-mode): Make sure to have quail-mode-map at the head of minor-mode-map-alist.
author Kenichi Handa <handa@m17n.org>
date Mon, 12 May 1997 06:59:23 +0000
parents 9ba20cfe79f2
children 9c4845e8101d
files lisp/international/quail.el
diffstat 1 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/international/quail.el	Mon May 12 06:56:32 1997 +0000
+++ b/lisp/international/quail.el	Mon May 12 06:59:23 1997 +0000
@@ -204,7 +204,7 @@
 `load-path'.
 
 LEIM is available from the same ftp directory as Emacs."))
-	  (error ""))
+	  (error "Can't use the Quail package `%s'" package-name))
       (setq libraries (cdr libraries))))
   (quail-select-package package-name)
   (setq current-input-method-title (quail-title))
@@ -469,6 +469,17 @@
 	(run-hooks 'quail-mode-exit-hook)
 	(run-hooks 'input-method-inactivate-hook))
     ;; Let's turn on Quail mode.
+    ;; At first, be sure that quail-mode is at the first element of
+    ;; minor-mode-map-alist.
+    (or (eq (car minor-mode-map-alist) 'quail-mode)
+	(let ((l minor-mode-map-alist))
+	  (while (cdr l)
+	    (if (eq (car (cdr l)) 'quail-mode)
+		(progn
+		  (setcdr l (cdr (cdr l)))
+		  (setq l nil))
+	      (setq l (cdr l))))
+	  (setq minor-mode-map-alist (cons 'quail-mode minor-mode-map-alist))))
     (if (null quail-current-package)
 	;; Quail package is not yet selected.  Select one now.
 	(let (name)
@@ -1378,7 +1389,7 @@
 	    (setq l (cdr l)))))))
 
 ;; List all possible translations of KEY in Quail map MAP with
-;; indentation INDENT."
+;; indentation INDENT.
 (defun quail-completion-list-translations (map key indent)
   (let ((translations
 	 (quail-get-translation map key (length key))))