From 4fc7ec6583b0050c03754944e2dcf9e47968d665 Mon Sep 17 00:00:00 2001 From: ShengHuo ZHU Date: Sat, 28 Oct 2000 13:38:06 +0000 Subject: [PATCH 1/1] Only ask question once when sending. 2000-10-28 10:09:41 ShengHuo ZHU * message.el (message-options): New variable. (message-send): Use it. * gnus-int.el (gnus-request-replace-article): Use it. (gnus-request-accept-article): Ditto. * mml.el (mml-preview): Use it. * gnus-sum.el (gnus-summary-edit-article): Use it. * message.el (message-options-get): New function. (message-options-get): New function. * rfc2047.el (rfc2047-encode-message-header): Use them. * mm-bodies.el (mm-encode-body): Use them. --- lisp/ChangeLog | 14 ++++++++++++++ lisp/gnus-int.el | 22 ++++++++++++---------- lisp/gnus-sum.el | 1 + lisp/message.el | 19 ++++++++++++++++++- lisp/mm-bodies.el | 5 ++++- lisp/mml.el | 1 + lisp/rfc2047.el | 8 ++++++-- 7 files changed, 56 insertions(+), 14 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 34557368f..5102a339d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,17 @@ +2000-10-28 10:09:41 ShengHuo ZHU + + * message.el (message-options): New variable. + (message-send): Use it. + * gnus-int.el (gnus-request-replace-article): Use it. + (gnus-request-accept-article): Ditto. + * mml.el (mml-preview): Use it. + * gnus-sum.el (gnus-summary-edit-article): Use it. + + * message.el (message-options-get): New function. + (message-options-get): New function. + * rfc2047.el (rfc2047-encode-message-header): Use them. + * mm-bodies.el (mm-encode-body): Use them. + 2000-10-28 Simon Josefsson * nnimap.el (nnimap-retrieve-which-headers): diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el index bdd0227b8..271cb6425 100644 --- a/lisp/gnus-int.el +++ b/lisp/gnus-int.el @@ -458,11 +458,12 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned." (unless (bolp) (insert "\n")) (unless no-encode - (save-restriction - (message-narrow-to-head) - (let ((mail-parse-charset message-default-charset)) - (mail-encode-encoded-word-buffer))) - (message-encode-message-body)) + (let ((message-options message-options)) + (save-restriction + (message-narrow-to-head) + (let ((mail-parse-charset message-default-charset)) + (mail-encode-encoded-word-buffer))) + (message-encode-message-body))) (let ((func (car (or gnus-command-method (gnus-find-method-for-group group))))) (funcall (intern (format "%s-request-accept-article" func)) @@ -472,11 +473,12 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned." (defun gnus-request-replace-article (article group buffer &optional no-encode) (unless no-encode - (save-restriction - (message-narrow-to-head) - (let ((mail-parse-charset message-default-charset)) - (mail-encode-encoded-word-buffer))) - (message-encode-message-body)) + (let ((message-options message-options)) + (save-restriction + (message-narrow-to-head) + (let ((mail-parse-charset message-default-charset)) + (mail-encode-encoded-word-buffer))) + (message-encode-message-body))) (let ((func (car (gnus-group-name-to-method group)))) (funcall (intern (format "%s-request-replace-article" func)) article (gnus-group-real-name group) buffer))) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index feb3f6dd3..64562e4c8 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -7852,6 +7852,7 @@ groups." (add-hook 'kill-buffer-hook 'mml-destroy-buffers t t)))) `(lambda (no-highlight) (let ((mail-parse-charset ',gnus-newsgroup-charset) + (message-options message-options) (mail-parse-ignored-charsets ',gnus-newsgroup-ignored-charsets)) ,(if (not raw) '(progn diff --git a/lisp/message.el b/lisp/message.el index 00e3c3ddb..934a4a72b 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -1007,6 +1007,9 @@ The first matched address (not primary one) is used in the From field." (User-Agent)) "Alist used for formatting headers.") +(defvar message-options nil + "Some saved answers when sending message.") + (eval-and-compile (autoload 'message-setup-toolbar "messagexmas") (autoload 'mh-new-draft-name "mh-comp") @@ -2124,7 +2127,8 @@ It should typically alter the sending method in some way or other." (message message-sending-message) (let ((alist message-send-method-alist) (success t) - elem sent) + elem sent + (message-options message-options)) (while (and success (setq elem (pop alist))) (when (funcall (cadr elem)) @@ -4560,6 +4564,19 @@ regexp varstr." (goto-char (point-max)) (insert "From: " email "\n")))) +(defun message-options-get (symbol) + (cdr (assq symbol message-options))) + +(defun message-options-set (symbol value) + (let ((the-cons (assq symbol message-options))) + (if the-cons + (if value + (setcdr the-cons value) + (setq message-options (delq the-cons message-options))) + (and value + (push (cons symbol value) message-options)))) + value) + (provide 'message) (run-hooks 'message-load-hook) diff --git a/lisp/mm-bodies.el b/lisp/mm-bodies.el index 5b8874c94..f35d273be 100644 --- a/lisp/mm-bodies.el +++ b/lisp/mm-bodies.el @@ -65,7 +65,10 @@ If no encoding was done, nil is returned." (goto-char (point-min)) (if (re-search-forward "[^\x0-\x7f]" nil t) (or mail-parse-charset - (mm-read-charset "Charset used in the article: ")) + (message-options-get 'mm-encody-body-charset) + (message-options-set + 'mm-encody-body-charset + (mm-read-charset "Charset used in the article: "))) ;; The logic in `mml-generate-mime-1' confirms that it's OK ;; to return nil here. nil)) diff --git a/lisp/mml.el b/lisp/mml.el index 9caae0199..7168b8cb8 100644 --- a/lisp/mml.el +++ b/lisp/mml.el @@ -844,6 +844,7 @@ TYPE is the MIME type to use." If RAW, don't highlight the article." (interactive "P") (let ((buf (current-buffer)) + (message-options message-options) (message-posting-charset (or (gnus-setup-posting-charset (save-restriction (message-narrow-to-headers-or-head) diff --git a/lisp/rfc2047.el b/lisp/rfc2047.el index 770e40307..e66338410 100644 --- a/lisp/rfc2047.el +++ b/lisp/rfc2047.el @@ -148,8 +148,12 @@ Should be called narrowed to the head of the message." (and (delq 'ascii (mm-find-charset-region (point-min) (point-max))) - (if (y-or-n-p - "Some texts are not encoded. Encode them anyway?") + (if (or (message-options-get + 'rfc2047-encode-message-header-encode-any) + (message-options-set + 'rfc2047-encode-message-header-encode-any + (y-or-n-p + "Some texts are not encoded. Encode anyway?"))) (rfc2047-encode-region (point-min) (point-max)) (error "Cannot send unencoded text.")))) ((mm-coding-system-p method) -- 2.25.1