diff lisp/gnus/message.el @ 99777:b1be79c8e945

(message-send-mail): Just set the buffer to unibyte rather than use mm-with-unibyte-current-buffer which does a lot more. (message-send-mail-partially): Don't bother with mm-with-unibyte-current-buffer since it's already been made unibyte by message-send-mail.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 21 Nov 2008 22:26:54 +0000
parents 39408ed11da9
children f3e7e60dc941
line wrap: on
line diff
--- a/lisp/gnus/message.el	Fri Nov 21 22:17:42 2008 +0000
+++ b/lisp/gnus/message.el	Fri Nov 21 22:26:54 2008 +0000
@@ -4325,9 +4325,8 @@
 	      (end-of-line)
 	      (insert (format " (%d/%d)" n total))
 	      (widen)
-	      (mm-with-unibyte-current-buffer
-		(funcall (or message-send-mail-real-function
-			     message-send-mail-function))))
+              (funcall (or message-send-mail-real-function
+                           message-send-mail-function)))
 	    (setq n (+ n 1))
 	    (setq p (pop plist))
 	    (erase-buffer)))
@@ -4429,6 +4428,11 @@
 				  (message-fetch-field
 				   "content-transfer-encoding")))))))
 	    (message-insert-courtesy-copy))
+          ;; Let's make sure we encoded all the body.
+          (assert (save-excursion
+                    (goto-char (point-min))
+                    (not (re-search-forward "[^\000-\377]" nil t))))
+          (mm-disable-multibyte)
 	  (if (or (not message-send-mail-partially-limit)
 		  (< (buffer-size) message-send-mail-partially-limit)
 		  (not (message-y-or-n-p
@@ -4453,7 +4457,7 @@
 If you always want Gnus to send messages in one piece, set
 `message-send-mail-partially-limit' to nil.
 ")))
-	      (mm-with-unibyte-current-buffer
+	      (progn
 		(message "Sending via mail...")
 		(funcall (or message-send-mail-real-function
 			     message-send-mail-function)))