1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-24 10:38:38 +00:00

2000-10-27 ShengHuo ZHU <zsh@cs.rochester.edu>

* message.el (message-send-mail-partially): Replace the header
	delimiter with a blank line.
	(message-sending-message): New variable.
	(message-send): Use it.
	(message-default-charset): Default value for non-Mule Emacsen.
	(message-alternative-emails): New.
	(message-use-alternative-email-as-from): New.
	(message-setup): Use them.
	(message-default-charset): Set default value in non-MULE XEmacsen
	as iso-8859-1.

2000-10-27 Emerick Rogul <emerick@csa.bu.edu>

	* message.el (message-setup-fill-variables): New variable.
	(message-mode): Use it.

2000-10-27  Bjorn Torkelsson  <torkel@hpc2n.umu.se>

	* message.el: xemacs cleanup (use featurep ' xemacs)

2000-10-27  Stanislav Shalunov <shalunov@internet2.edu>

	* message.el (message-make-in-reply-to): In-Reply-To is message-id
	(see DRUMS).

2000-10-27  Simon Josefsson  <simon@josefsson.org>

	* message.el (message-send): Make sure error is signalled if no
	send method is specified.
This commit is contained in:
Dave Love 2000-10-27 17:58:21 +00:00
parent a7c1335103
commit 83595c0c40

View File

@ -3,6 +3,7 @@
;; Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Maintainer: bugs@gnus.org
;; Keywords: mail, news
;; This file is part of GNU Emacs.
@ -664,8 +665,10 @@ Valid valued are `unique' and `unsent'."
:type '(choice (const :tag "unique" unique)
(const :tag "unsent" unsent)))
(defcustom message-default-charset nil
"Default charset used in non-MULE XEmacsen."
(defcustom message-default-charset
(and (not (mm-multibyte-p)) 'iso-8859-1)
"Default charset used in non-MULE Emacsen.
If nil, you might be asked to input the charset."
:group 'message
:type 'symbol)
@ -900,8 +903,16 @@ should be sent in several parts. If it is nil, the size is unlimited."
:type '(choice (const :tag "unlimited" nil)
(integer 1000000)))
(defcustom message-alternative-emails nil
"A regexp to match the alternative email addresses.
The first matched address (not primary one) is used in the From field."
:group 'message-headers
:type '(choice (const :tag "Always use primary" nil)
regexp))
;;; Internal variables.
(defvar message-sending-message "Sending...")
(defvar message-buffer-list nil)
(defvar message-this-is-news nil)
(defvar message-this-is-mail nil)
@ -2108,21 +2119,21 @@ It should typically alter the sending method in some way or other."
(put-text-property (point-min) (point-max) 'read-only nil))
(message-fix-before-sending)
(run-hooks 'message-send-hook)
(message "Sending...")
(message message-sending-message)
(let ((alist message-send-method-alist)
(success t)
elem sent)
(while (and success
(setq elem (pop alist)))
(when (or (not (funcall (cadr elem)))
(and (or (not (memq (car elem)
message-sent-message-via))
(y-or-n-p
(format
"Already sent message via %s; resend? "
(car elem))))
(setq success (funcall (caddr elem) arg))))
(setq sent t)))
(when (funcall (cadr elem))
(when (and (or (not (memq (car elem)
message-sent-message-via))
(y-or-n-p
(format
"Already sent message via %s; resend? "
(car elem))))
(setq success (funcall (caddr elem) arg)))
(setq sent t))))
(unless (or sent (not success))
(error "No methods specified to send by"))
(when (and success sent)
@ -2194,6 +2205,12 @@ It should typically alter the sending method in some way or other."
(defun message-send-mail-partially ()
"Sendmail as message/partial."
;; replace the header delimiter with a blank line
(goto-char (point-min))
(re-search-forward
(concat "^" (regexp-quote mail-header-separator) "\n"))
(replace-match "\n")
(run-hooks 'message-send-mail-hook)
(let ((p (goto-char (point-min)))
(tembuf (message-generate-new-buffer-clone-locals " message temp"))
(curbuf (current-buffer))
@ -3032,18 +3049,7 @@ If NOW, use that time instead."
(defun message-make-in-reply-to ()
"Return the In-Reply-To header for this message."
(when message-reply-headers
(let ((from (mail-header-from message-reply-headers))
(date (mail-header-date message-reply-headers)))
(when from
(let ((stop-pos
(string-match " *at \\| *@ \\| *(\\| *<" from)))
(concat (if (and stop-pos
(not (zerop stop-pos)))
(substring from 0 stop-pos) from)
"'s message of \""
(if (or (not date) (string= date ""))
"(unknown date)" date)
"\""))))))
(mail-header-message-id message-reply-headers)))
(defun message-make-distribution ()
"Make a Distribution header."
@ -3586,6 +3592,8 @@ than 988 characters long, and if they are not, trim them until they are."
(message-insert-signature)
(save-restriction
(message-narrow-to-headers)
(if message-alternative-emails
(message-use-alternative-email-as-from))
(run-hooks 'message-header-setup-hook))
(set-buffer-modified-p nil)
(setq buffer-undo-list nil)
@ -4108,8 +4116,7 @@ Optional DIGEST will use digest to forward."
(mml-insert-buffer cur))
(if message-forward-show-mml
(insert-buffer-substring cur)
(mm-with-unibyte-current-buffer
(mml-insert-buffer cur))))
(mml-insert-buffer cur)))
(setq e (point))
(if message-forward-as-mime
(if digest
@ -4530,6 +4537,24 @@ regexp varstr."
(let ((minibuffer-setup-hook 'mail-abbrev-minibuffer-setup-hook))
(read-string prompt))))
(defun message-use-alternative-email-as-from ()
(require 'mail-utils)
(let* ((fields '("To" "Cc"))
(emails
(split-string
(mail-strip-quoted-names
(mapconcat 'message-fetch-reply-field fields ","))
"[ \f\t\n\r\v,]+"))
email)
(while emails
(if (string-match message-alternative-emails (car emails))
(setq email (car emails)
emails nil))
(pop emails))
(unless (or (not email) (equal email user-mail-address))
(goto-char (point-max))
(insert "From: " email "\n"))))
(provide 'message)
(run-hooks 'message-load-hook)