emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-26 25d9fe2: Work for empty MIME attachments (related


From: Katsumi Yamaoka
Subject: [Emacs-diffs] emacs-26 25d9fe2: Work for empty MIME attachments (related to bug#34387)
Date: Wed, 13 Feb 2019 21:16:33 -0500 (EST)

branch: emacs-26
commit 25d9fe24a657565761f79d7d96e22777a94aa84f
Author: Katsumi Yamaoka <address@hidden>
Commit: Katsumi Yamaoka <address@hidden>

    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.
---
 lisp/gnus/mm-decode.el |  2 +-
 lisp/gnus/mm-view.el   | 10 ++++++----
 lisp/gnus/mml.el       |  6 ++++--
 3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index 5dad2ac..21552ab 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -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*")
diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el
index d588e9b..03e1e11 100644
--- a/lisp/gnus/mm-view.el
+++ b/lisp/gnus/mm-view.el
@@ -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."
diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el
index f2b969a..d558897 100644
--- a/lisp/gnus/mml.el
+++ b/lisp/gnus/mml.el
@@ -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))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]