Add docstrings
[gnus] / lisp / mm-decode.el
index 5b79b20..531206c 100644 (file)
@@ -696,13 +696,14 @@ Postpone undisplaying of viewers for types in
 (autoload 'mailcap-parse-mailcaps "mailcap")
 (autoload 'mailcap-mime-info "mailcap")
 
-(defun mm-display-part (handle &optional no-default)
+(defun mm-display-part (handle &optional no-default force)
   "Display the MIME part represented by HANDLE.
 Returns nil if the part is removed; inline if displayed inline;
 external if displayed external."
   (save-excursion
     (mailcap-parse-mailcaps)
-    (if (mm-handle-displayed-p handle)
+    (if (and (not force)
+            (mm-handle-displayed-p handle))
        (mm-remove-part handle)
       (let* ((ehandle (if (equal (mm-handle-media-type handle)
                                 "message/external-body")
@@ -1690,7 +1691,7 @@ If RECURSIVE, search recursively."
        (shr-blocked-images (if (and (boundp 'gnus-summary-buffer)
                                     (buffer-name gnus-summary-buffer))
                                (with-current-buffer gnus-summary-buffer
-                                 gnus-blocked-images)
+                                 (gnus-blocked-images))
                              shr-blocked-images))
        (shr-content-function (lambda (id)
                                (let ((handle (mm-get-content-id id)))
@@ -1712,7 +1713,13 @@ If RECURSIVE, search recursively."
                       (mm-decode-coding-string (buffer-string) charset)
                     (erase-buffer)
                     (mm-enable-multibyte))))
-        (libxml-parse-html-region (point-min) (point-max)))))))
+        (libxml-parse-html-region (point-min) (point-max))))
+      (mm-handle-set-undisplayer
+       handle
+       `(lambda ()
+         (let ((inhibit-read-only t))
+           (delete-region ,(point-min-marker)
+                          ,(point-max-marker))))))))
 
 (provide 'mm-decode)