(default-mime-charset-for-write): New user option.
authormorioka <morioka>
Wed, 23 Dec 1998 02:56:45 +0000 (02:56 +0000)
committermorioka <morioka>
Wed, 23 Dec 1998 02:56:45 +0000 (02:56 +0000)
(default-mime-charset-detect-method-for-write): New user option.
(detect-mime-charset-region): Refer
`default-mime-charset-detect-method-for-write' or
`default-mime-charset-for-write' if suitable mime-charset is not
found.

mcs-20.el

index e608ac3..9e63e3d 100644 (file)
--- a/mcs-20.el
+++ b/mcs-20.el
@@ -123,9 +123,32 @@ It must be symbol."
   :group 'i18n
   :type 'mime-charset)
 
-(defsubst detect-mime-charset-region (start end)
+(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 is used when MIME-charset is not specified.
+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."
+  :group 'i18n
+  :type '(choice function (const nil)))
+
+(defun detect-mime-charset-region (start end)
   "Return MIME charset for region between START and END."
-  (charsets-to-mime-charset (find-charset-region start 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)
+   )))
 
 (defun write-region-as-mime-charset (charset start end filename
                                             &optional append visit lockname)