# HG changeset patch # User Kenichi Handa # Date 903923203 0 # Node ID 4ae12d3c8c304fd343f596b37ddeec93943bde5b # Parent baea0ab6d01521de0565a6324a105cb0a02e57f5 (select-message-coding-system): New function. (set-language-environment-coding-systems): Set default-sendmail-coding-system. diff -r baea0ab6d015 -r 4ae12d3c8c30 lisp/international/mule-cmds.el --- a/lisp/international/mule-cmds.el Mon Aug 24 01:46:43 1998 +0000 +++ b/lisp/international/mule-cmds.el Mon Aug 24 01:46:43 1998 +0000 @@ -489,6 +489,29 @@ (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 @@ (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))