aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorKatsumi Yamaoka2011-12-01 04:55:39 +0000
committerKatsumi Yamaoka2011-12-01 04:55:39 +0000
commitf65bd83340979074157d53c8b162340ae9954fb4 (patch)
tree29e6748ebb3e13891af0fcaaa367b2a747d71e22 /lisp
parent1bbe96b252f080bd9782d140673bf7f54ced9eea (diff)
downloademacs-f65bd83340979074157d53c8b162340ae9954fb4.tar.gz
emacs-f65bd83340979074157d53c8b162340ae9954fb4.zip
Gnus: Share the value of the buffer-local `message-options' variable between a draft buffer and temprary working buffers.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/gnus/ChangeLog8
-rw-r--r--lisp/gnus/gnus-msg.el5
-rw-r--r--lisp/gnus/message.el9
-rw-r--r--lisp/gnus/mml.el21
4 files changed, 32 insertions, 11 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index f767ee4407b..b517c81b2b9 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,11 @@
12011-12-01 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * gnus-msg.el (gnus-inews-do-gcc):
4 * message.el (message-send-mail):
5 * mml.el (mml-generate-mime): Share the value of the buffer-local
6 `message-options' variable between a draft buffer and temprary working
7 buffers.
8
12011-11-30 Stefan Monnier <monnier@iro.umontreal.ca> 92011-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
2 10
3 * message.el (message-pop-to-buffer): Revert 2011-09-11 change. 11 * message.el (message-pop-to-buffer): Revert 2011-09-11 change.
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el
index e6a06a0500d..e06d475ed6c 100644
--- a/lisp/gnus/gnus-msg.el
+++ b/lisp/gnus/gnus-msg.el
@@ -1549,7 +1549,7 @@ this is a reply."
1549 (message-narrow-to-headers) 1549 (message-narrow-to-headers)
1550 (let ((gcc (or gcc (mail-fetch-field "gcc" nil t))) 1550 (let ((gcc (or gcc (mail-fetch-field "gcc" nil t)))
1551 (cur (current-buffer)) 1551 (cur (current-buffer))
1552 groups group method group-art 1552 groups group method group-art options
1553 mml-externalize-attachments) 1553 mml-externalize-attachments)
1554 (when gcc 1554 (when gcc
1555 (message-remove-header "gcc") 1555 (message-remove-header "gcc")
@@ -1573,6 +1573,7 @@ this is a reply."
1573 gnus-gcc-externalize-attachments)) 1573 gnus-gcc-externalize-attachments))
1574 (save-excursion 1574 (save-excursion
1575 (nnheader-set-temp-buffer " *acc*") 1575 (nnheader-set-temp-buffer " *acc*")
1576 (setq message-options (with-current-buffer cur message-options))
1576 (insert-buffer-substring cur) 1577 (insert-buffer-substring cur)
1577 (message-encode-message-body) 1578 (message-encode-message-body)
1578 (save-restriction 1579 (save-restriction
@@ -1629,6 +1630,8 @@ this is a reply."
1629 (boundp 'gnus-inews-mark-gcc-as-read) 1630 (boundp 'gnus-inews-mark-gcc-as-read)
1630 (symbol-value 'gnus-inews-mark-gcc-as-read)))) 1631 (symbol-value 'gnus-inews-mark-gcc-as-read))))
1631 (gnus-group-mark-article-read group (cdr group-art))) 1632 (gnus-group-mark-article-read group (cdr group-art)))
1633 (setq options message-options)
1634 (with-current-buffer cur (setq message-options options))
1632 (kill-buffer (current-buffer))))))))) 1635 (kill-buffer (current-buffer)))))))))
1633 1636
1634(defun gnus-inews-insert-gcc (&optional group) 1637(defun gnus-inews-insert-gcc (&optional group)
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index eea50de4cec..ee9d4992158 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -4507,7 +4507,8 @@ This function could be useful in `message-setup-hook'."
4507 (boundp 'gnus-group-posting-charset-alist)) 4507 (boundp 'gnus-group-posting-charset-alist))
4508 (gnus-setup-posting-charset nil) 4508 (gnus-setup-posting-charset nil)
4509 message-posting-charset)) 4509 message-posting-charset))
4510 (headers message-required-mail-headers)) 4510 (headers message-required-mail-headers)
4511 options)
4511 (when (and message-generate-hashcash 4512 (when (and message-generate-hashcash
4512 (not (eq message-generate-hashcash 'opportunistic))) 4513 (not (eq message-generate-hashcash 'opportunistic)))
4513 (message "Generating hashcash...") 4514 (message "Generating hashcash...")
@@ -4546,9 +4547,11 @@ This function could be useful in `message-setup-hook'."
4546 (error "Failed to send the message"))))) 4547 (error "Failed to send the message")))))
4547 ;; Let the user do all of the above. 4548 ;; Let the user do all of the above.
4548 (run-hooks 'message-header-hook)) 4549 (run-hooks 'message-header-hook))
4550 (setq options message-options)
4549 (unwind-protect 4551 (unwind-protect
4550 (with-current-buffer tembuf 4552 (with-current-buffer tembuf
4551 (erase-buffer) 4553 (erase-buffer)
4554 (setq message-options options)
4552 ;; Avoid copying text props (except hard newlines). 4555 ;; Avoid copying text props (except hard newlines).
4553 (insert (with-current-buffer mailbuf 4556 (insert (with-current-buffer mailbuf
4554 (mml-buffer-substring-no-properties-except-hard-newlines 4557 (mml-buffer-substring-no-properties-except-hard-newlines
@@ -4630,9 +4633,11 @@ If you always want Gnus to send messages in one piece, set
4630 (message "Sending via mail...") 4633 (message "Sending via mail...")
4631 (funcall (or message-send-mail-real-function 4634 (funcall (or message-send-mail-real-function
4632 message-send-mail-function))) 4635 message-send-mail-function)))
4633 (message-send-mail-partially))) 4636 (message-send-mail-partially))
4637 (setq options message-options))
4634 (kill-buffer tembuf)) 4638 (kill-buffer tembuf))
4635 (set-buffer mailbuf) 4639 (set-buffer mailbuf)
4640 (setq message-options options)
4636 (push 'mail message-sent-message-via))) 4641 (push 'mail message-sent-message-via)))
4637 4642
4638(defvar sendmail-program) 4643(defvar sendmail-program)
diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el
index 8aa5fbff6b8..867c3be4b60 100644
--- a/lisp/gnus/mml.el
+++ b/lisp/gnus/mml.el
@@ -466,16 +466,21 @@ If MML is non-nil, return the buffer up till the correspondent mml tag."
466(defun mml-generate-mime () 466(defun mml-generate-mime ()
467 "Generate a MIME message based on the current MML document." 467 "Generate a MIME message based on the current MML document."
468 (let ((cont (mml-parse)) 468 (let ((cont (mml-parse))
469 (mml-multipart-number mml-multipart-number)) 469 (mml-multipart-number mml-multipart-number)
470 (options message-options))
470 (if (not cont) 471 (if (not cont)
471 nil 472 nil
472 (mm-with-multibyte-buffer 473 (prog1
473 (if (and (consp (car cont)) 474 (mm-with-multibyte-buffer
474 (= (length cont) 1)) 475 (setq message-options options)
475 (mml-generate-mime-1 (car cont)) 476 (if (and (consp (car cont))
476 (mml-generate-mime-1 (nconc (list 'multipart '(type . "mixed")) 477 (= (length cont) 1))
477 cont))) 478 (mml-generate-mime-1 (car cont))
478 (buffer-string))))) 479 (mml-generate-mime-1 (nconc (list 'multipart '(type . "mixed"))
480 cont)))
481 (setq options message-options)
482 (buffer-string))
483 (setq message-options options)))))
479 484
480(defun mml-generate-mime-1 (cont) 485(defun mml-generate-mime-1 (cont)
481 (let ((mm-use-ultra-safe-encoding 486 (let ((mm-use-ultra-safe-encoding