mail/rmailmm.el (rmail-mime-process-multipart): Do not signal an error when a multipart boundary in the nested multipart is found.

This commit is contained in:
Kenichi Handa 2011-02-23 11:32:35 +09:00
parent 9c02aefc95
commit c1449bffe2
2 changed files with 29 additions and 19 deletions

View file

@ -1,3 +1,8 @@
2011-02-23 Kenichi Handa <handa@m17n.org>
* mail/rmailmm.el (rmail-mime-process-multipart): Do not signal an
error when a multipart boundary in the nested multipart is found.
2011-02-22 Kenichi Handa <handa@m17n.org>
* mail/rmail.el (rmail-start-mail): Decode "encoded-words" of

View file

@ -852,28 +852,33 @@ The other arguments are the same as `rmail-mime-multipart-handler'."
((looking-at "[ \t]*\n")
(setq next (copy-marker (match-end 0) t)))
(t
(rmail-mm-get-boundary-error-message
"Malformed boundary" content-type content-disposition
content-transfer-encoding)))
;; The original code signalled an error as below, but
;; this line may be a boundary of nested multipart. So,
;; we just set `next' to nil to skip this line
;; (rmail-mm-get-boundary-error-message
;; "Malformed boundary" content-type content-disposition
;; content-transfer-encoding)
(setq next nil)))
(setq index (1+ index))
;; Handle the part.
(if parse-tag
(when next
(setq index (1+ index))
;; Handle the part.
(if parse-tag
(save-restriction
(narrow-to-region beg end)
(let ((child (rmail-mime-process
nil (format "%s/%d" parse-tag index)
content-type content-disposition)))
;; Display a tagline.
(aset (aref (rmail-mime-entity-display child) 1) 1
(aset (rmail-mime-entity-tagline child) 2 t))
(push child entities)))
(delete-region end next)
(save-restriction
(narrow-to-region beg end)
(let ((child (rmail-mime-process
nil (format "%s/%d" parse-tag index)
content-type content-disposition)))
;; Display a tagline.
(aset (aref (rmail-mime-entity-display child) 1) 1
(aset (rmail-mime-entity-tagline child) 2 t))
(push child entities)))
(delete-region end next)
(save-restriction
(narrow-to-region beg end)
(rmail-mime-show)))
(goto-char (setq beg next)))
(rmail-mime-show)))
(goto-char (setq beg next))))
(when parse-tag
(setq entities (nreverse entities))