Function: mm-remove-part
mm-remove-part is a byte-compiled function defined in mm-decode.el.gz.
Signature
(mm-remove-part HANDLE)
Documentation
Remove the displayed MIME part represented by HANDLE.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/mm-decode.el.gz
(defun mm-remove-part (handle)
"Remove the displayed MIME part represented by HANDLE."
(when (listp handle)
(let ((object (mm-handle-undisplayer handle)))
(ignore-errors
(cond
;; Internally displayed part.
((or (functionp object)
(and (listp object)
(eq (car object) 'lambda)))
(funcall object))
;; Externally displayed part.
((consp object)
(condition-case ()
(while (get-buffer-process (cdr object))
(interrupt-process (get-buffer-process (cdr object)))
(message "Waiting for external displayer to die...")
(sit-for 1))
(quit)
(error))
(ignore-errors (and (cdr object) (kill-buffer (cdr object))))
(message "Waiting for external displayer to die...done")
(ignore-errors (delete-file (car object)))
(ignore-errors (delete-directory (file-name-directory
(car object)))))
((buffer-live-p object)
(kill-buffer object))))
(mm-handle-set-undisplayer handle nil))))