X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mcs-20.el;h=ca9f394dce592292108d5aeb4d9cac90476869a7;hb=72f1a2a9c510a6cbe28e88faf73eafdb91bb3131;hp=5fcd20436e127d7361dc9d04018ab21db13016aa;hpb=23759e7a7e62c10a3b924bb8d23906fe5d57f5c4;p=elisp%2Fapel.git diff --git a/mcs-20.el b/mcs-20.el index 5fcd204..ca9f394 100644 --- a/mcs-20.el +++ b/mcs-20.el @@ -1,8 +1,8 @@ ;;; mcs-20.el --- MIME charset implementation for Emacs 20 and XEmacs/mule -;; Copyright (C) 1997,1998,1999 Free Software Foundation, Inc. +;; Copyright (C) 1997,1998,1999,2000 Free Software Foundation, Inc. -;; Author: MORIOKA Tomohiko +;; Author: MORIOKA Tomohiko ;; Keywords: emulation, compatibility, Mule ;; This file is part of APEL (A Portable Emacs Library). @@ -29,24 +29,28 @@ ;;; Code: -(require 'poem) (require 'custom) (eval-when-compile (require 'wid-edit)) +(if (featurep 'xemacs) + (require 'mcs-xm) + (require 'mcs-e20)) + ;;; @ MIME charset ;;; (defcustom mime-charset-coding-system-alist (let ((rest - `((us-ascii . raw-text) + '((us-ascii . raw-text) (gb2312 . cn-gb-2312) (cn-gb . cn-gb-2312) (iso-2022-jp-2 . iso-2022-7bit-ss2) + (iso-2022-jp-3 . iso-2022-7bit-ss2) (tis-620 . tis620) - (windows-874 . tis620) - ,@(unless (coding-system-p 'x-ctext) - '((x-ctext . ctext))) + (windows-874 . tis-620) + (cp874 . tis-620) + (x-ctext . ctext) (unknown . undecided) (x-unknown . undecided) )) @@ -72,7 +76,7 @@ If it is a function, interface must be (CHARSET LBT CODING-SYSTEM)." :group 'i18n :type '(choice function (const nil))) -(defsubst mime-charset-to-coding-system (charset &optional lbt) +(defun mime-charset-to-coding-system (charset &optional lbt) "Return coding-system corresponding with CHARSET. CHARSET is a symbol whose name is MIME charset. If optional argument LBT (`CRLF', `LF', `CR', `unix', `dos' or `mac') @@ -99,6 +103,8 @@ is specified, it is used as line break code type of coding-system." charset lbt cs) )))) +(defalias 'mime-charset-p 'mime-charset-to-coding-system) + (defvar widget-mime-charset-prompt-value-history nil "History of input to `widget-mime-charset-prompt-value'.") @@ -131,43 +137,17 @@ is specified, it is used as line break code type of coding-system." (widget-apply widget :notify widget event) (widget-setup))) -(defcustom default-mime-charset 'x-ctext +(defcustom default-mime-charset 'x-unknown "Default value of MIME-charset. It is used when MIME-charset is not specified. It must be symbol." :group 'i18n :type 'mime-charset) -(defcustom default-mime-charset-for-write - (if (find-coding-system 'utf-8) - 'utf-8 - default-mime-charset) - "Default value of MIME-charset for encoding. -It may be used when suitable MIME-charset is not found. -It must be symbol." - :group 'i18n - :type 'mime-charset) - -(defcustom default-mime-charset-detect-method-for-write - nil - "Function called when suitable MIME-charset is not found to encode. -It must be nil or function. -If it is nil, variable `default-mime-charset-for-write' is used. -If it is a function, interface must be (TYPE CHARSETS &rest ARGS). -CHARSETS is list of charset. -If TYPE is 'region, ARGS has START and END." - :group 'i18n - :type '(choice function (const nil))) - (defun detect-mime-charset-region (start end) "Return MIME charset for region between START and END." - (let ((charsets (find-charset-region start end))) - (or (charsets-to-mime-charset charsets) - (if default-mime-charset-detect-method-for-write - (funcall default-mime-charset-detect-method-for-write - 'region charsets start end) - default-mime-charset-for-write) - ))) + (find-mime-charset-by-charsets (find-charset-region start end) + 'region start end)) (defun write-region-as-mime-charset (charset start end filename &optional append visit lockname) @@ -181,6 +161,7 @@ If TYPE is 'region, ARGS has START and END." ;;; @ end ;;; -(provide 'mcs-20) +(require 'product) +(product-provide (provide 'mcs-20) (require 'apel-ver)) ;;; mcs-20.el ends here