From 88449f362764e883f09e1f9b2217d8cff050bc20 Mon Sep 17 00:00:00 2001 From: morioka Date: Thu, 24 Dec 1998 12:35:24 +0000 Subject: [PATCH] (detect-mime-charset-region): Don't call `default-mime-charset-detect-method-for-write' if suitable mime-charset is found. --- mcs-20.el | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/mcs-20.el b/mcs-20.el index 9e63e3d..376ded5 100644 --- a/mcs-20.el +++ b/mcs-20.el @@ -128,27 +128,31 @@ It must be symbol." 'utf-8 default-mime-charset) "Default value of MIME-charset for encoding. -It is used when MIME-charset is not specified. +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." + "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))) - (charsets-to-mime-charset - charsets - (if default-mime-charset-detect-method-for-write - (funcall default-mime-charset-detect-method-for-write - 'region start end charsets) - default-mime-charset-for-write) - ))) + (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) + ))) (defun write-region-as-mime-charset (charset start end filename &optional append visit lockname) -- 1.7.10.4