X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mcharset.el;h=3f19c39738df58a752c8747a3c0cac3ddfce0e64;hb=7ac33fd4acbdd20e941426c25ee6ab4e086a9211;hp=c74111f4965664e5a5e6f2e62218a00d0984317d;hpb=8928bf158e3b139ee67d06982a7c631f7ed66878;p=elisp%2Fapel.git diff --git a/mcharset.el b/mcharset.el index c74111f..3f19c39 100644 --- a/mcharset.el +++ b/mcharset.el @@ -1,8 +1,8 @@ ;;; mcharset.el --- MIME charset API -;; Copyright (C) 1997,1998 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). @@ -28,28 +28,18 @@ (require 'pcustom) (cond ((featurep 'mule) - (cond ((featurep 'xemacs) - (require 'mcs-xm) - ) - ((>= emacs-major-version 20) - (require 'mcs-e20) - ) - (t - ;; for MULE 1.* and 2.* - (require 'mcs-om) - )) - ) + (if (>= emacs-major-version 20) + (require 'mcs-20) + ;; for MULE 1.* and 2.* + (require 'mcs-om))) ((boundp 'NEMACS) ;; for Nemacs and Nepoch - (require 'mcs-nemacs) - ) + (require 'mcs-nemacs)) (t - (require 'mcs-ltn1) - )) + (require 'mcs-ltn1))) (defcustom default-mime-charset-for-write - (if (and (fboundp 'find-coding-system) - (find-coding-system 'utf-8)) + (if (mime-charset-p 'utf-8) 'utf-8 default-mime-charset) "Default value of MIME-charset for encoding. @@ -91,10 +81,29 @@ Return nil if suitable mime-charset is not found." (setq rest (cdr rest))) )))) +(defun find-mime-charset-by-charsets (charsets &optional mode &rest args) + "Like `charsets-to-mime-charset', but it does not return nil. + +When suitable mime-charset is not found and variable +`default-mime-charset-detect-method-for-write' is not nil, +`find-mime-charset-by-charsets' calls the variable as function and +return the return value of the function. +Interface of the function is (MODE CHARSETS &rest ARGS). + +When suitable mime-charset is not found and variable +`default-mime-charset-detect-method-for-write' is nil, +variable `default-mime-charset-for-write' is returned." + (or (charsets-to-mime-charset charsets) + (if default-mime-charset-detect-method-for-write + (apply default-mime-charset-detect-method-for-write + mode charsets args) + default-mime-charset-for-write))) + ;;; @ end ;;; -(provide 'mcharset) +(require 'product) +(product-provide (provide 'mcharset) (require 'apel-ver)) ;;; mcharset.el ends here