aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2006-01-22 12:24:02 +0000
committerKenichi Handa2006-01-22 12:24:02 +0000
commit3bfa5b1fcc59d2edf69c9fa8f79c2c07ac3d7a73 (patch)
tree8d93152cf9f36df894a99613c29262381f220a2c
parent4a3d351dc4149c368263104d2ca80a6fa5651132 (diff)
downloademacs-3bfa5b1fcc59d2edf69c9fa8f79c2c07ac3d7a73.tar.gz
emacs-3bfa5b1fcc59d2edf69c9fa8f79c2c07ac3d7a73.zip
(make-subsidiary-coding-system): Reset
`coding-system-define-form' property of subsidiaries to nil. Avoid duplicated entry in coding-system-alist. (make-coding-system): Avoid duplicated entry in coding-system-alist. (define-coding-system-alias): Likewise.
-rw-r--r--lisp/international/mule.el30
1 files changed, 16 insertions, 14 deletions
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index b0320ce98d9..05c2b3aabc9 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -620,16 +620,16 @@ It exists just for backward compatibility, and the value is always nil.")
620 (subsidiaries (vector (intern (format "%s-unix" coding-system)) 620 (subsidiaries (vector (intern (format "%s-unix" coding-system))
621 (intern (format "%s-dos" coding-system)) 621 (intern (format "%s-dos" coding-system))
622 (intern (format "%s-mac" coding-system)))) 622 (intern (format "%s-mac" coding-system))))
623 (i 0) 623 elt)
624 temp) 624 (dotimes (i 3)
625 (while (< i 3) 625 (setq elt (aref subsidiaries i))
626 (put (aref subsidiaries i) 'coding-system coding-spec) 626 (put elt 'coding-system coding-spec)
627 (put (aref subsidiaries i) 'eol-type i) 627 (put elt 'eol-type i)
628 (add-to-coding-system-list (aref subsidiaries i)) 628 (put elt 'coding-system-define-form nil)
629 (setq coding-system-alist 629 (add-to-coding-system-list elt)
630 (cons (list (symbol-name (aref subsidiaries i))) 630 (or (assoc (symbol-name elt) coding-system-alist)
631 coding-system-alist)) 631 (setq coding-system-alist
632 (setq i (1+ i))) 632 (cons (list (symbol-name elt)) coding-system-alist))))
633 subsidiaries)) 633 subsidiaries))
634 634
635(defun transform-make-coding-system-args (name type &optional doc-string props) 635(defun transform-make-coding-system-args (name type &optional doc-string props)
@@ -1082,8 +1082,9 @@ a value of `safe-charsets' in PLIST."
1082 ;; At last, register CODING-SYSTEM in `coding-system-list' and 1082 ;; At last, register CODING-SYSTEM in `coding-system-list' and
1083 ;; `coding-system-alist'. 1083 ;; `coding-system-alist'.
1084 (add-to-coding-system-list coding-system) 1084 (add-to-coding-system-list coding-system)
1085 (setq coding-system-alist (cons (list (symbol-name coding-system)) 1085 (or (assoc (symbol-name coding-system) coding-system-alist)
1086 coding-system-alist)) 1086 (setq coding-system-alist (cons (list (symbol-name coding-system))
1087 coding-system-alist)))
1087 1088
1088 ;; For a coding system of cateogory iso-8-1 and iso-8-2, create 1089 ;; For a coding system of cateogory iso-8-1 and iso-8-2, create
1089 ;; XXX-with-esc variants. 1090 ;; XXX-with-esc variants.
@@ -1114,8 +1115,9 @@ a value of `safe-charsets' in PLIST."
1114 (put alias 'coding-system (coding-system-spec coding-system)) 1115 (put alias 'coding-system (coding-system-spec coding-system))
1115 (put alias 'coding-system-define-form nil) 1116 (put alias 'coding-system-define-form nil)
1116 (add-to-coding-system-list alias) 1117 (add-to-coding-system-list alias)
1117 (setq coding-system-alist (cons (list (symbol-name alias)) 1118 (or (assoc (symbol-name alias) coding-system-alist)
1118 coding-system-alist)) 1119 (setq coding-system-alist (cons (list (symbol-name alias))
1120 coding-system-alist)))
1119 (let ((eol-type (coding-system-eol-type coding-system))) 1121 (let ((eol-type (coding-system-eol-type coding-system)))
1120 (if (vectorp eol-type) 1122 (if (vectorp eol-type)
1121 (progn 1123 (progn