(mule-keymap): Use `list-coding-systems' instead of
[chise/xemacs-chise.git] / lisp / mule / mule-cmds.el
index a0f4949..891362b 100644 (file)
@@ -43,7 +43,7 @@
 (define-key mule-keymap "\C-\\" 'set-input-method)
 (define-key mule-keymap "c" 'universal-coding-system-argument)
 ;;(define-key mule-keymap "c" 'list-coding-system-briefly) ; XEmacs
-(define-key mule-keymap "C" 'list-coding-system)        ; XEmacs
+(define-key mule-keymap "C" 'list-coding-systems)       ; XEmacs
 (define-key mule-keymap "r" 'toggle-display-direction)  ; XEmacs
 (define-key mule-keymap "l" 'set-language-environment)
 
@@ -567,7 +567,7 @@ see `language-info-alist'."
          (setcdr lang-slot (cons key-slot (cdr lang-slot)))))
     (setcdr key-slot info)))
 
-(defun set-language-info-alist (lang-env alist)
+(defun set-language-info-alist (lang-env alist &optional parents)
   "Store ALIST as the definition of language environment LANG-ENV.
 ALIST is an alist of KEY and INFO values.  See the documentation of
 `set-language-info' for the meanings of KEY and INFO."
@@ -614,7 +614,7 @@ ALIST is an alist of KEY and INFO values.  See the documentation of
            `(add-menu-button
              '("Mule" "Describe Language Support")
              (vector ,lang-env
-                     '(describe-specific-language-support ,lang-env)
+                     '(describe-language-environment ,lang-env)
                      t))))
        ))
     ;; (define-key-after setup-map (vector (intern lang-env))
@@ -625,7 +625,7 @@ ALIST is an alist of KEY and INFO values.  See the documentation of
        `(add-menu-button
          '("Mule" "Set Language Environment")
          (vector ,lang-env
-                 '(setup-specified-language-environment ,lang-env)
+                 '(set-language-environment ,lang-env)
                  t))))
 
     (while alist
@@ -1086,7 +1086,9 @@ The default status is as follows:
   (set-coding-category-system 'no-conversion   'raw-text)
   (set-coding-category-system 'shift-jis       'shift_jis)
   (set-coding-category-system 'big5            'big5)
-
+  (set-coding-category-system 'ucs-4           'binary)
+  (set-coding-category-system 'utf-8           'raw-text)
+    
   (set-coding-priority-list
    '(iso-8-1
      iso-8-2
@@ -1229,16 +1231,20 @@ of buffer-file-coding-system set by this function."
   (let* ((priority (get-language-info language-name 'coding-priority))
         (default-coding (car priority)))
     (if priority
-       (let ((categories (mapcar 'coding-system-category priority)))
+       (let ((categories (mapcar 'coding-system-category priority))
+             category checked-categories)
          (set-default-coding-systems
           (if (memq eol-type '(lf crlf cr unix dos mac))
               (coding-system-change-eol-conversion default-coding eol-type)
             default-coding))
           ;; (setq default-sendmail-coding-system default-coding)
-         (set-coding-priority-list categories)
          (while priority
-           (set-coding-category-system (car categories) (car priority))
-           (setq priority (cdr priority) categories (cdr categories)))
+           (unless (memq (setq category (car categories)) checked-categories)
+             (set-coding-category-system category (car priority))
+             (setq checked-categories (cons category checked-categories)))
+           (setq priority (cdr priority)
+                 categories (cdr categories)))
+         (set-coding-priority-list (nreverse checked-categories))
           ;; (update-coding-systems-internal)
          ))))