summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatsumi Yamaoka <yamaoka@jpl.org>2010-05-06 03:27:20 +0000
committerKatsumi Yamaoka <yamaoka@jpl.org>2010-05-06 03:27:20 +0000
commitee3097571bee7fe6ee0abd6815e92a04122e09f8 (patch)
treefa60e4cec87b25d200251317905598569cf0fa19
parent1493963bb19856c8fffedc1e3091bf1fa61bdf64 (diff)
downloademacs-ee3097571bee7fe6ee0abd6815e92a04122e09f8.tar.gz
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.
-rw-r--r--lisp/gnus/ChangeLog6
-rw-r--r--lisp/gnus/mml.el7
2 files changed, 11 insertions, 2 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index bb6d11c81bd..69f3c003786 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -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.
diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el
index a5670e3c8b6..f55b2ccae92 100644
--- a/lisp/gnus/mml.el
+++ b/lisp/gnus/mml.el
@@ -520,7 +520,10 @@ If MML is non-nil, return the buffer up till the correspondent mml tag."
;; `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 @@ If MML is non-nil, return the buffer up till the correspondent mml tag."
(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))