changeset 108253:2b24f3ddbe67

Synch with Gnus trunk. (mml-generate-mime-1,mml-compute-boundary-1): Update 'mml handles on recursive mml-to-mime translation and check them for boundary delimiter collisions. Reported by: Greg Troxel.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Thu, 06 May 2010 03:27:20 +0000
parents 623b349bb7c2
children 7d3e117cb7a7 3465ec28d914
files lisp/gnus/ChangeLog lisp/gnus/mml.el
diffstat 2 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Thu May 06 03:24:12 2010 +0000
+++ b/lisp/gnus/ChangeLog	Thu May 06 03:27:20 2010 +0000
@@ -21,6 +21,12 @@
 	* gnus-dired.el (gnus-dired-mode-map): Initialize in declaration.
 	(gnus-dired-mode): Use define-minor-mode.
 
+2010-05-01  Andreas Seltenreich  <seltenreich@gmx.de>
+
+	* mml.el (mml-generate-mime-1,mml-compute-boundary-1): Update 'mml
+	handles on recursive mml-to-mime translation and check them for
+	boundary delimiter collisions.  Reported by: Greg Troxel.
+
 2010-04-27  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* gnus-util.el: Don't load tm and apel XEmacs packages when compiling.
--- a/lisp/gnus/mml.el	Thu May 06 03:24:12 2010 +0000
+++ b/lisp/gnus/mml.el	Thu May 06 03:27:20 2010 +0000
@@ -520,7 +520,10 @@
 			  ;; `m-g-d-t' will be bound to "message/rfc822"
 			  ;; when encoding an article to be forwarded.
 			  (mml-generate-default-type "text/plain"))
-		      (mml-to-mime))
+		      (mml-to-mime)
+		      ;; Update handle so mml-compute-boundary can
+		      ;; detect collisions with the nested parts.
+		      (setcdr (assoc 'contents cont) (buffer-string)))
 		    (let ((mm-7bit-chars (concat mm-7bit-chars "\x1b")))
 		      ;; ignore 0x1b, it is part of iso-2022-jp
 		      (setq encoding (mm-body-7-or-8))))
@@ -699,7 +702,7 @@
 (defun mml-compute-boundary-1 (cont)
   (let (filename)
     (cond
-     ((eq (car cont) 'part)
+     ((member (car cont) '(part mml))
       (with-temp-buffer
 	(cond
 	 ((cdr (assq 'buffer cont))