From: morioka Date: Thu, 9 Sep 1999 12:37:32 +0000 (+0000) Subject: (mime-charset-decoder-alist): Don't use X-Git-Tag: apel-9_22~4 X-Git-Url: http://git.chise.org/gitweb/?p=elisp%2Fapel.git;a=commitdiff_plain;h=2ebeeed255ccab01bed3bede6a43efc3df2d5f63 (mime-charset-decoder-alist): Don't use `decode-mime-charset-region-with-iso646-unification' if running XEmacs-UTF-2000. (mime-iso646-character-unification-alist): Don't define if running XEmacs-UTF-2000. (mime-unified-character-face): Likewise. (mime-character-unification-limit-size): Likewise. (decode-mime-charset-region-with-iso646-unification): Likewise. --- diff --git a/mcs-xm.el b/mcs-xm.el index 19cbc2b..33d1cb0 100644 --- a/mcs-xm.el +++ b/mcs-xm.el @@ -1,6 +1,6 @@ ;;; mcs-xm.el --- MIME charset implementation for XEmacs-mule -;; Copyright (C) 1997,1998 Free Software Foundation, Inc. +;; Copyright (C) 1997,1998,1999 Free Software Foundation, Inc. ;; Author: MORIOKA Tomohiko ;; Keywords: emulation, compatibility, Mule @@ -41,11 +41,15 @@ (defcustom mime-charset-decoder-alist - '((iso-2022-jp . decode-mime-charset-region-with-iso646-unification) - (iso-2022-jp-2 . decode-mime-charset-region-with-iso646-unification) - (x-ctext . decode-mime-charset-region-with-iso646-unification) - (hz-gb-2312 . decode-mime-charset-region-for-hz) - (t . decode-mime-charset-region-default)) + (let ((alist + '((hz-gb-2312 . decode-mime-charset-region-for-hz) + (t . decode-mime-charset-region-default)))) + (if (featurep 'utf-2000) + alist + (list* + '(iso-2022-jp . decode-mime-charset-region-with-iso646-unification) + '(iso-2022-jp-2 . decode-mime-charset-region-with-iso646-unification) + alist))) "Alist MIME-charset vs. decoder function." :group 'i18n :type '(repeat (cons mime-charset function))) @@ -56,56 +60,58 @@ (decode-coding-region start end cs) ))) -(defcustom mime-iso646-character-unification-alist - (eval-when-compile - (let (dest - (i 33)) - (while (< i 92) - (setq dest - (cons (cons (char-to-string (make-char 'latin-jisx0201 i)) - (format "%c" i)) - dest)) - (setq i (1+ i))) - (setq i 93) - (while (< i 126) - (setq dest - (cons (cons (char-to-string (make-char 'latin-jisx0201 i)) - (format "%c" i)) - dest)) - (setq i (1+ i))) - (nreverse dest))) - "Alist unified string vs. canonical string." - :group 'i18n - :type '(repeat (cons string string))) - -(defcustom mime-unified-character-face nil - "*Face of unified character." - :group 'i18n - :type 'face) - -(defcustom mime-character-unification-limit-size 2048 - "*Limit size to unify characters." - :group 'i18n - :type 'integer) - -(defun decode-mime-charset-region-with-iso646-unification (start end charset - lbt) - (decode-mime-charset-region-default start end charset lbt) - (if (<= (- end start) mime-character-unification-limit-size) - (save-excursion - (let ((rest mime-iso646-character-unification-alist)) - (while rest - (let ((pair (car rest))) - (goto-char start) - (while (search-forward (car pair) end t) - (let ((str (cdr pair))) - (put-text-property 0 (length str) - 'face mime-unified-character-face str) - (replace-match str 'fixed-case 'literal) - ) - )) - (setq rest (cdr rest))))) - )) +(static-unless (featurep 'utf-2000) + (defcustom mime-iso646-character-unification-alist + (eval-when-compile + (let (dest + (i 33)) + (while (< i 92) + (setq dest + (cons (cons (char-to-string (make-char 'latin-jisx0201 i)) + (format "%c" i)) + dest)) + (setq i (1+ i))) + (setq i 93) + (while (< i 126) + (setq dest + (cons (cons (char-to-string (make-char 'latin-jisx0201 i)) + (format "%c" i)) + dest)) + (setq i (1+ i))) + (nreverse dest))) + "Alist unified string vs. canonical string." + :group 'i18n + :type '(repeat (cons string string))) + + (defcustom mime-unified-character-face nil + "*Face of unified character." + :group 'i18n + :type 'face) + + (defcustom mime-character-unification-limit-size 2048 + "*Limit size to unify characters." + :group 'i18n + :type 'integer) + + (defun decode-mime-charset-region-with-iso646-unification (start end charset + lbt) + (decode-mime-charset-region-default start end charset lbt) + (if (<= (- end start) mime-character-unification-limit-size) + (save-excursion + (let ((rest mime-iso646-character-unification-alist)) + (while rest + (let ((pair (car rest))) + (goto-char start) + (while (search-forward (car pair) end t) + (let ((str (cdr pair))) + (put-text-property 0 (length str) + 'face mime-unified-character-face str) + (replace-match str 'fixed-case 'literal) + ) + )) + (setq rest (cdr rest))))) + )) + ) (defun decode-mime-charset-region-for-hz (start end charset lbt) (if lbt