(install-detect-elisp-directory): Avoid problem if prefix of an emacs
[elisp/apel.git] / mcs-xm.el
index 946cc7d..fdc565d 100644 (file)
--- a/mcs-xm.el
+++ b/mcs-xm.el
@@ -57,7 +57,8 @@
       )))
 
 (defcustom mime-iso646-character-unification-alist
-  `,(let (dest
+  (eval-when-compile
+    (let (dest
          (i 33))
       (while (< i 92)
        (setq dest
@@ -72,7 +73,7 @@
                          (format "%c" i))
                    dest))
        (setq i (1+ i)))
-      (nreverse dest))
+      (nreverse dest)))
   "Alist unified string vs. canonical string."
   :group 'i18n
   :type '(repeat (cons string string)))
     ((ascii latin-jisx0201
            katakana-jisx0201 japanese-jisx0208)        . shift_jis)
     ((ascii korean-ksc5601)                            . euc-kr)
-    ((ascii chinese-gb2312)                            . cn-gb-2312)
-    ((ascii chinese-big5-1 chinese-big5-2)             . cn-big5)
+    ((ascii chinese-gb2312)                            . gb2312)
+    ((ascii chinese-big5-1 chinese-big5-2)             . big5)
     ((ascii latin-iso8859-1 greek-iso8859-7
            latin-jisx0201 japanese-jisx0208-1978
            chinese-gb2312 japanese-jisx0208
            chinese-gb2312 japanese-jisx0208
            korean-ksc5601 japanese-jisx0212
            chinese-cns11643-1 chinese-cns11643-2)      . iso-2022-int-1)
-    ;; ((ascii latin-iso8859-1 latin-iso8859-2
-    ;;         cyrillic-iso8859-5 greek-iso8859-7
-    ;;         latin-jisx0201 japanese-jisx0208-1978
-    ;;         chinese-gb2312 japanese-jisx0208
-    ;;         korean-ksc5601 japanese-jisx0212
-    ;;         chinese-cns11643-1 chinese-cns11643-2
-    ;;         chinese-cns11643-3 chinese-cns11643-4
-    ;;         chinese-cns11643-5 chinese-cns11643-6
-    ;;         chinese-cns11643-7)                         . iso-2022-int-1)
     ))
 
 
+(defun coding-system-to-mime-charset (coding-system)
+  "Convert CODING-SYSTEM to a MIME-charset.
+Return nil if corresponding MIME-charset is not found."
+  (setq coding-system
+       (coding-system-name (coding-system-base coding-system)))
+  (or (car (rassq coding-system mime-charset-coding-system-alist))
+      coding-system))
+
+(defun mime-charset-list ()
+  "Return a list of all existing MIME-charset."
+  (let ((dest (mapcar (function car) mime-charset-coding-system-alist))
+       (rest (coding-system-list))
+       cs)
+    (while rest
+      (setq cs (coding-system-name (coding-system-base (car rest))))
+      (or (rassq cs mime-charset-coding-system-alist)
+         (memq cs dest)
+         (setq dest (cons cs dest)))
+      (setq rest (cdr rest)))
+    dest))
+
+
 ;;; @ end
 ;;;