X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mcs-xm.el;h=45826473fa079cc510b5c19fb93232c60d3b9642;hb=37e12c38da05e4ceb553461dd7b467a992e97fdb;hp=dceb1dd96c8958997adddda9dc3c3ddadea59851;hpb=5328760d0d4ddb43f2c6f26b49e413cb93a5ee83;p=elisp%2Fapel.git diff --git a/mcs-xm.el b/mcs-xm.el index dceb1dd..4582647 100644 --- a/mcs-xm.el +++ b/mcs-xm.el @@ -1,9 +1,9 @@ ;;; mcs-xm.el --- MIME charset implementation for XEmacs-mule -;; Copyright (C) 1997,1998,1999 Free Software Foundation, Inc. +;; Copyright (C) 1997,1998,1999,2000 Free Software Foundation, Inc. -;; Author: MORIOKA Tomohiko -;; Keywords: emulation, compatibility, Mule +;; Author: MORIOKA Tomohiko +;; Keywords: MIME-charset, coding-system, emulation, compatibility, Mule ;; This file is part of APEL (A Portable Emacs Library). @@ -29,7 +29,7 @@ ;;; Code: -(require 'mcs-20) +(require 'poem) (defun encode-mime-charset-region (start end charset &optional lbt) @@ -81,7 +81,7 @@ (assq t mime-charset-decoder-alist))))) (funcall func start end charset lbt))) -(defsubst encode-mime-charset-string (string charset &optional lbt) +(defun encode-mime-charset-string (string charset &optional lbt) "Encode the STRING as MIME CHARSET." (let ((cs (mime-charset-to-coding-system charset lbt))) (if cs @@ -103,65 +103,71 @@ (defvar charsets-mime-charset-alist - `(((ascii) . us-ascii) - ((ascii latin-iso8859-1) . iso-8859-1) - ((ascii latin-iso8859-2) . iso-8859-2) - ((ascii latin-iso8859-3) . iso-8859-3) - ((ascii latin-iso8859-4) . iso-8859-4) - ((ascii cyrillic-iso8859-5) . iso-8859-5) -;;; ((ascii cyrillic-iso8859-5) . koi8-r) - ((ascii arabic-iso8859-6) . iso-8859-6) - ((ascii greek-iso8859-7) . iso-8859-7) - ((ascii hebrew-iso8859-8) . iso-8859-8) - ((ascii latin-iso8859-9) . iso-8859-9) - ,(if (featurep 'utf-2000) - '((ascii latin-jisx0201 - japanese-jisx0208-1978 - japanese-jisx0208 - japanese-jisx0208-1990) . iso-2022-jp) - '((ascii latin-jisx0201 - japanese-jisx0208-1978 japanese-jisx0208) - . iso-2022-jp)) - ,(if (featurep 'utf-2000) - '((ascii latin-jisx0201 - japanese-jisx0208-1978 - japanese-jisx0208 - japanese-jisx0208-1990 - japanese-jisx0213-1 - japanese-jisx0213-2) . iso-2022-jp-3) - '((ascii latin-jisx0201 - japanese-jisx0208-1978 japanese-jisx0208 - japanese-jisx0213-1 - japanese-jisx0213-2) . iso-2022-jp-3)) - ,(if (featurep 'utf-2000) - '((ascii latin-jisx0201 katakana-jisx0201 - japanese-jisx0208-1990) . shift_jis) - '((ascii latin-jisx0201 - katakana-jisx0201 japanese-jisx0208) . shift_jis)) - ((ascii korean-ksc5601) . euc-kr) - ((ascii chinese-gb2312) . gb2312) - ((ascii chinese-big5-1 chinese-big5-2) . big5) - ((ascii thai-xtis) . tis-620) - ,(if (featurep 'utf-2000) - '((ascii latin-jisx0201 latin-iso8859-1 - greek-iso8859-7 - japanese-jisx0208-1978 japanese-jisx0208 - japanese-jisx0208-1990 - japanese-jisx0212 - chinese-gb2312 - korean-ksc5601) . iso-2022-jp-2) - '((ascii latin-jisx0201 latin-iso8859-1 - greek-iso8859-7 - japanese-jisx0208-1978 japanese-jisx0208 - japanese-jisx0212 - chinese-gb2312 - korean-ksc5601) . iso-2022-jp-2)) - ;; ((ascii latin-iso8859-1 greek-iso8859-7 - ;; latin-jisx0201 japanese-jisx0208-1978 - ;; chinese-gb2312 japanese-jisx0208 - ;; korean-ksc5601 japanese-jisx0212 - ;; chinese-cns11643-1 chinese-cns11643-2) . iso-2022-int-1) - )) + (delq + nil + `(((ascii) . us-ascii) + ((ascii latin-iso8859-1) . iso-8859-1) + ((ascii latin-iso8859-2) . iso-8859-2) + ((ascii latin-iso8859-3) . iso-8859-3) + ((ascii latin-iso8859-4) . iso-8859-4) + ((ascii cyrillic-iso8859-5) . iso-8859-5) + ;;((ascii cyrillic-iso8859-5) . koi8-r) + ((ascii arabic-iso8859-6) . iso-8859-6) + ((ascii greek-iso8859-7) . iso-8859-7) + ((ascii hebrew-iso8859-8) . iso-8859-8) + ((ascii latin-iso8859-9) . iso-8859-9) + ,(if (find-coding-system 'iso-8859-14) + '((ascii latin-iso8859-14) . iso-8859-14)) + ,(if (find-coding-system 'iso-8859-15) + '((ascii latin-iso8859-15) . iso-8859-15)) + ,(if (featurep 'utf-2000) + '((ascii latin-jisx0201 + japanese-jisx0208-1978 + japanese-jisx0208 + japanese-jisx0208-1990) . iso-2022-jp) + '((ascii latin-jisx0201 + japanese-jisx0208-1978 japanese-jisx0208) + . iso-2022-jp)) + ,(if (featurep 'utf-2000) + '((ascii latin-jisx0201 + japanese-jisx0208-1978 + japanese-jisx0208 + japanese-jisx0208-1990 + japanese-jisx0213-1 + japanese-jisx0213-2) . iso-2022-jp-3) + '((ascii latin-jisx0201 + japanese-jisx0208-1978 japanese-jisx0208 + japanese-jisx0213-1 + japanese-jisx0213-2) . iso-2022-jp-3)) + ,(if (featurep 'utf-2000) + '((ascii latin-jisx0201 katakana-jisx0201 + japanese-jisx0208-1990) . shift_jis) + '((ascii latin-jisx0201 + katakana-jisx0201 japanese-jisx0208) . shift_jis)) + ((ascii korean-ksc5601) . euc-kr) + ((ascii chinese-gb2312) . gb2312) + ((ascii chinese-big5-1 chinese-big5-2) . big5) + ((ascii thai-xtis) . tis-620) + ,(if (featurep 'utf-2000) + '((ascii latin-jisx0201 latin-iso8859-1 + greek-iso8859-7 + japanese-jisx0208-1978 japanese-jisx0208 + japanese-jisx0208-1990 + japanese-jisx0212 + chinese-gb2312 + korean-ksc5601) . iso-2022-jp-2) + '((ascii latin-jisx0201 latin-iso8859-1 + greek-iso8859-7 + japanese-jisx0208-1978 japanese-jisx0208 + japanese-jisx0212 + chinese-gb2312 + korean-ksc5601) . iso-2022-jp-2)) + ;;((ascii latin-iso8859-1 greek-iso8859-7 + ;; latin-jisx0201 japanese-jisx0208-1978 + ;; chinese-gb2312 japanese-jisx0208 + ;; korean-ksc5601 japanese-jisx0212 + ;; chinese-cns11643-1 chinese-cns11643-2) . iso-2022-int-1) + ))) (defun coding-system-to-mime-charset (coding-system)