Commit 25d9fe24 authored by Katsumi Yamaoka's avatar Katsumi Yamaoka
Browse files

Work for empty MIME attachments (related to bug#34387)

* mm-view.el (mm-inline-text):
Make undisplayer do nothing if the part is empty.

* mm-decode.el (mm-copy-to-buffer): Work for empty MIME part.
* mml.el (mime-to-mml): Ditto.
parent 58e0e929
Pipeline #761 passed with stage
in 26 minutes and 3 seconds
......@@ -764,7 +764,7 @@ MIME-Version header before proceeding."
(mb (mm-multibyte-p))
beg)
(goto-char (point-min))
(search-forward-regexp "^\n" nil t)
(search-forward-regexp "^\n" nil 'move) ;; There might be no body.
(setq beg (point))
(with-current-buffer
(generate-new-buffer " *mm*")
......
......@@ -368,10 +368,12 @@
(enriched-decode (point-min) (point-max))))
(mm-handle-set-undisplayer
handle
`(lambda ()
(let ((inhibit-read-only t))
(delete-region ,(copy-marker (point-min) t)
,(point-max-marker))))))))
(if (= (point-min) (point-max))
#'ignore
`(lambda ()
(let ((inhibit-read-only t))
(delete-region ,(copy-marker (point-min) t)
,(point-max-marker)))))))))
(defun mm-insert-inline (handle text)
"Insert TEXT inline from HANDLE."
......
......@@ -979,8 +979,10 @@ If HANDLES is non-nil, use it instead reparsing the buffer."
(unless handles
(setq handles (mm-dissect-buffer t)))
(goto-char (point-min))
(search-forward "\n\n" nil t)
(delete-region (point) (point-max))
(if (search-forward "\n\n" nil 'move)
(delete-region (point) (point-max))
;; No content in the part that is the sole part of this message.
(insert (if (bolp) "\n" "\n\n")))
(if (stringp (car handles))
(mml-insert-mime handles)
(mml-insert-mime handles t))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment