- (let ((file (cdr (assq process mime-mailcap-method-filename-alist))))
- (when (file-exists-p file)
- (ignore-errors
- (delete-file file)
- (delete-directory (file-name-directory file)))))
- (remove-alist 'mime-mailcap-method-filename-alist process)
- (message "%s %s" process event))
+ (when mime-play-delete-file-immediately
+ (let ((file (cdr (assq process mime-mailcap-method-filename-alist))))
+ (if (file-exists-p file)
+ (delete-file file)))
+ (remove-alist 'mime-mailcap-method-filename-alist process))
+ (message (format "%s %s" process event)))
+
+(defun mime-mailcap-delete-played-files ()
+ (dolist (elem mime-mailcap-method-filename-alist)
+ (when (file-exists-p (cdr elem))
+ (delete-file (cdr elem)))))
+
+(add-hook 'kill-emacs-hook 'mime-mailcap-delete-played-files)