From: Kenichi Handa Date: Mon, 24 Aug 1998 01:46:43 +0000 (+0000) Subject: (select-message-coding-system): New X-Git-Tag: emacs-20.4~1862 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=46babb23b62952f2bb237584855704f6d01fa351;p=emacs.git (select-message-coding-system): New function. (set-language-environment-coding-systems): Set default-sendmail-coding-system. --- diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index 2ebc5f147a8..c2874981750 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -489,6 +489,29 @@ Please select one from the following safe coding systems:\n" (setq select-safe-coding-system-function 'select-safe-coding-system) +(defun select-message-coding-system () + "Return a coding system to encode the outgoing message of the current buffer. +It at first tries the first coding system found in these variables +in this order: + (1) local value of `buffer-file-coding-system' + (2) value of `sendmail-coding-system' + (3) value of `default-buffer-file-coding-system' + (4) value of `default-sendmail-coding-system' +If the found coding system can't encode the current buffer, +or none of them are bound to a coding system, +it asks a user to select a proper coding system." + (let ((coding (or (and (local-variable-p 'buffer-file-coding-system) + buffer-file-coding-system) + sendmail-coding-system + default-buffer-file-coding-system + default-sendmail-coding-system))) + (if (eq coding 'no-conversion) + ;; We should never use no-conversion for outgoing mails. + (setq coding nil)) + (if (fboundp select-safe-coding-system-function) + (funcall select-safe-coding-system-function + (point-min) (point-max) coding) + coding))) ;;; Language support staffs. @@ -1189,6 +1212,7 @@ specifies the character set for the major languages of Western Europe." (if priority (let ((categories (mapcar 'coding-system-category priority))) (set-default-coding-systems default-coding) + (setq default-sendmail-coding-system default-coding) (set-coding-priority categories) (while priority (set (car categories) (car priority))