X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/eea8d4efafbc96001f7c1e0e0cee5912400ba667..689421a9696767055deef191a6e8da493bce8561:/lisp/mail/mailpost.el diff --git a/lisp/mail/mailpost.el b/lisp/mail/mailpost.el index 9cc7e16ef2..f8198c9e97 100644 --- a/lisp/mail/mailpost.el +++ b/lisp/mail/mailpost.el @@ -3,6 +3,8 @@ ;; This is in the public domain ;; since Delp distributed it without a copyright notice in 1986. +;; This file is part of GNU Emacs. + ;; Author: Gary Delp ;; Maintainer: FSF ;; Created: 13 Jan 1986 @@ -16,6 +18,9 @@ ;;; Code: +(require 'mailalias) +(require 'sendmail) + ;; (setq send-mail-function 'post-mail-send-it) (defun post-mail-send-it () @@ -25,7 +30,7 @@ site-init." (let ((errbuf (if mail-interactive (generate-new-buffer " post-mail errors") 0)) - (temfile "/tmp/,rpost") + temfile (tembuf (generate-new-buffer " post-mail temp")) (case-fold-search nil) delimline @@ -40,10 +45,7 @@ site-init." (or (= (preceding-char) ?\n) (insert ?\n)) ;; Change header-delimiter to be what post-mail expects. - (goto-char (point-min)) - (search-forward (concat "\n" mail-header-separator "\n")) - (replace-match "\n\n") - (backward-char 1) + (mail-sendmail-undelimit-header) (setq delimline (point-marker)) (if mail-aliases (expand-mail-aliases (point-min) delimline)) @@ -74,8 +76,12 @@ site-init." (save-excursion (set-buffer errbuf) (erase-buffer)))) - (write-file (setq temfile (make-temp-name temfile))) - (set-file-modes temfile 384) + (let ((m (default-file-modes))) + (unwind-protect + (progn + (set-default-file-modes 384) + (setq temfile (make-temp-file ",rpost"))) + (set-default-file-modes m))) (apply 'call-process (append (list (if (boundp 'post-mail-program) post-mail-program @@ -97,4 +103,6 @@ site-init." (if (bufferp errbuf) (switch-to-buffer errbuf))))) +(provide 'mailpost) + ;;; mailpost.el ends here