mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-23 07:19:15 +00:00
Fix infloop in rmailmm on multipart messages with epilogues
* lisp/mail/rmailmm.el (rmail-mime-process-multipart): Do not confuse a multipart message with an epilogue with a "truncated" one; fixes 2011-06-27 change. Fixes: debbugs:10101
This commit is contained in:
parent
08f18c3d4d
commit
99a1e70110
@ -1,3 +1,9 @@
|
||||
2012-10-07 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* mail/rmailmm.el (rmail-mime-process-multipart):
|
||||
Do not confuse a multipart message with an epilogue
|
||||
with a "truncated" one; fixes 2011-06-27 change. (Bug#10101)
|
||||
|
||||
2012-10-07 Fabián Ezequiel Gallina <fgallina@cuca>
|
||||
|
||||
Fix shell output retrieval and comint-prompt-regexp init.
|
||||
|
@ -832,7 +832,7 @@ The other arguments are the same as `rmail-mime-multipart-handler'."
|
||||
(let ((boundary (cdr (assq 'boundary content-type)))
|
||||
(subtype (cadr (split-string (car content-type) "/")))
|
||||
(index 0)
|
||||
beg end next entities truncated)
|
||||
beg end next entities truncated last)
|
||||
(unless boundary
|
||||
(rmail-mm-get-boundary-error-message
|
||||
"No boundary defined" content-type content-disposition
|
||||
@ -867,7 +867,13 @@ The other arguments are the same as `rmail-mime-multipart-handler'."
|
||||
;; Handle the rest of the truncated message
|
||||
;; (if it isn't empty) by pretending that the boundary
|
||||
;; appears at the end of the message.
|
||||
(and (save-excursion
|
||||
;; We use `last' to distinguish this from the more
|
||||
;; likely situation of there being an epilogue
|
||||
;; after the last boundary, which should be ignored.
|
||||
;; See rmailmm-test-multipart-handler for an example,
|
||||
;; and also bug#10101.
|
||||
(and (not last)
|
||||
(save-excursion
|
||||
(skip-chars-forward "\n")
|
||||
(> (point-max) (point)))
|
||||
(setq truncated t end (point-max))))
|
||||
@ -875,7 +881,8 @@ The other arguments are the same as `rmail-mime-multipart-handler'."
|
||||
;; epilogue, else hide the boundary only. Use a marker for
|
||||
;; `next' because `rmail-mime-show' may change the buffer.
|
||||
(cond ((looking-at "--[ \t]*$")
|
||||
(setq next (point-max-marker)))
|
||||
(setq next (point-max-marker)
|
||||
last t))
|
||||
((looking-at "[ \t]*\n")
|
||||
(setq next (copy-marker (match-end 0) t)))
|
||||
(truncated
|
||||
|
Loading…
Reference in New Issue
Block a user