aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa1997-10-23 12:05:45 +0000
committerKenichi Handa1997-10-23 12:05:45 +0000
commit753fd9caf35e980911ee9af731d03699f660be30 (patch)
tree0b0a76fba49debec36a9dc2a42f8848ceb12c86b
parente481690d87f3ec2ff6938cf29b6fea0fdfb67e07 (diff)
downloademacs-753fd9caf35e980911ee9af731d03699f660be30.tar.gz
emacs-753fd9caf35e980911ee9af731d03699f660be30.zip
(list-input-methods): Handle the case
that title of input method is not a simple string. Show users an informative message when leim is not yet installed. (describe-coding-system): Print safe charasets of the coding system.
-rw-r--r--lisp/international/mule-diag.el61
1 files changed, 42 insertions, 19 deletions
diff --git a/lisp/international/mule-diag.el b/lisp/international/mule-diag.el
index 8966b26e0ba..ca86f98ebdd 100644
--- a/lisp/international/mule-diag.el
+++ b/lisp/international/mule-diag.el
@@ -189,7 +189,7 @@ but contains full information about each character sets."
189 ((eq type 5) 189 ((eq type 5)
190 (princ " (text with random binary characters)")) 190 (princ " (text with random binary characters)"))
191 (t (princ ": invalid coding-system.")))) 191 (t (princ ": invalid coding-system."))))
192 (princ "\nEOL type:\n ") 192 (princ "\nEOL type: ")
193 (let ((eol-type (coding-system-eol-type coding-system))) 193 (let ((eol-type (coding-system-eol-type coding-system)))
194 (cond ((vectorp eol-type) 194 (cond ((vectorp eol-type)
195 (princ "Automatic selection from:\n\t") 195 (princ "Automatic selection from:\n\t")
@@ -213,6 +213,14 @@ but contains full information about each character sets."
213 (princ "\n ") 213 (princ "\n ")
214 (princ prewrite) 214 (princ prewrite)
215 (princ "\n"))) 215 (princ "\n")))
216 (let ((charsets (coding-system-get coding-system 'safe-charsets)))
217 (when charsets
218 (princ "This coding system is mainly for the following charsets:\n")
219 (princ " ")
220 (while charsets
221 (princ " ")
222 (princ (car charsets))
223 (setq charsets (cdr charsets)))))
216 (save-excursion 224 (save-excursion
217 (set-buffer standard-output) 225 (set-buffer standard-output)
218 (help-mode))))) 226 (help-mode)))))
@@ -659,24 +667,39 @@ See the function `describe-fontset' for the format of the list."
659 "Print information of all input methods." 667 "Print information of all input methods."
660 (interactive) 668 (interactive)
661 (with-output-to-temp-buffer "*Help*" 669 (with-output-to-temp-buffer "*Help*"
662 (princ "LANGUAGE\n NAME (`TITLE' in mode line)\n") 670 (if (not input-method-alist)
663 (princ " SHORT-DESCRIPTION\n------------------------------\n") 671 (progn
664 (setq input-method-alist 672 (princ "
665 (sort input-method-alist 673No input method is avairable, perhaps because you have not yet
666 (function (lambda (x y) (string< (nth 1 x) (nth 1 y)))))) 674installed LEIM (Libraries of Emacs Input Method).
667 (let ((l input-method-alist) 675
668 language elt) 676LEIM is avairable from the same ftp directory as Emacs. For instance,
669 (while l 677if there exists an archive file emacs-20.2.tar.gz, there should also
670 (setq elt (car l) l (cdr l)) 678be a file leim-20.2.tar.gz. When you extract this file, LEIM files
671 (when (not (equal language (nth 1 elt))) 679are put under the subdirectory emacs-20.2/leim. When you install
672 (setq language (nth 1 elt)) 680Emacs again, you should be able to use various input methods."))
673 (princ language) 681 (princ "LANGUAGE\n NAME (`TITLE' in mode line)\n")
674 (terpri)) 682 (princ " SHORT-DESCRIPTION\n------------------------------\n")
675 (princ (format " %s (`%s' in mode line)\n %s\n" 683 (setq input-method-alist
676 (car elt) (nth 3 elt) 684 (sort input-method-alist
677 (let ((title (nth 4 elt))) 685 (function (lambda (x y) (string< (nth 1 x) (nth 1 y))))))
678 (string-match ".*" title) 686 (let ((l input-method-alist)
679 (match-string 0 title)))))))) 687 language elt)
688 (while l
689 (setq elt (car l) l (cdr l))
690 (when (not (equal language (nth 1 elt)))
691 (setq language (nth 1 elt))
692 (princ language)
693 (terpri))
694 (princ (format " %s (`%s' in mode line)\n %s\n"
695 (car elt)
696 (let ((title (nth 3 elt)))
697 (if (and (consp title) (stringp (car title)))
698 (car title)
699 title))
700 (let ((description (nth 4 elt)))
701 (string-match ".*" description)
702 (match-string 0 description)))))))))
680 703
681;;; DIAGNOSIS 704;;; DIAGNOSIS
682 705