2006-03-02 Hynek Schlawack <hynek@ularx.de>
authorReiner Steib <Reiner.Steib@gmx.de>
Thu, 2 Mar 2006 21:00:10 +0000 (21:00 +0000)
committerReiner Steib <Reiner.Steib@gmx.de>
Thu, 2 Mar 2006 21:00:10 +0000 (21:00 +0000)
* gnus-art.el (gnus-article-browse-html-temp)
(gnus-article-browse-delete-temp): New variables.
(gnus-article-browse-delete-temp-files): New function.
(gnus-article-browse-html-parts): Use it.

lisp/ChangeLog
lisp/gnus-art.el

index 7fc3448..c5e4d1f 100644 (file)
@@ -1,3 +1,10 @@
+2006-03-02  Hynek Schlawack  <hynek@ularx.de>
+
+       * gnus-art.el (gnus-article-browse-html-temp)
+       (gnus-article-browse-delete-temp): New variables.
+       (gnus-article-browse-delete-temp-files): New function.
+       (gnus-article-browse-html-parts): Use it.
+
 2006-03-02  Reiner Steib  <Reiner.Steib@gmx.de>
 
        * gnus-group.el (gnus-group-redraw-check): Remove redundant tests.
index 2d93f0b..21d8873 100644 (file)
@@ -2606,6 +2606,27 @@ charset defined in `gnus-summary-show-article-charset-alist' is used."
           "-I" (symbol-name charset) "-O" (symbol-name charset))))
     (mm-inline-wash-with-stdin nil "w3m" "-dump" "-T" "text/html")))
 
+(defvar gnus-article-browse-html-temp nil
+  "Temporary files created by `gnus-article-browse-html-parts'")
+
+(defvar gnus-article-browse-delete-temp 'ask
+  "Defines how to deal with temporary files created by
+`gnus-article-browse-html-parts':
+Possible values: t: Delete
+                 ask: Ask before delete
+                 nil: Don't delete")
+
+(defun gnus-article-browse-delete-temp-files ()
+  "Delete temp-files created by `gnus-article-browse-html-parts'."
+  (when (and gnus-article-browse-html-temp
+            (or (and (equal gnus-article-browse-delete-temp 'ask)
+                     (y-or-n-p "Delete temporary files from showing HTML-mails? "))
+                (eq gnus-article-browse-delete-temp t)))
+    (dolist (tmp-file gnus-article-browse-html-temp)
+      (when (file-exists-p tmp-file)
+       (delete-file tmp-file)))
+    (setq gnus-article-browse-html-temp nil)))
+
 (defun gnus-article-browse-html-parts (list)
   "View all \"text/html\" parts from LIST.
 Recurse into multiparts."
@@ -2621,6 +2642,7 @@ Recurse into multiparts."
                                ;; Do we need to care for 8.3 filenames?
                                "mm-" nil ".html")))
                 (mm-save-part-to-file handle tmp-file)
+                (add-to-list 'gnus-article-browse-html-temp tmp-file)
                 (browse-url tmp-file)
                 (setq showed t)))
              ;; If multipart, recurse
@@ -2631,7 +2653,7 @@ Recurse into multiparts."
                              (gnus-article-browse-html-parts handle))))))))
     showed))
 
-;; TODO: Key binding; Remove temp files.
+;; TODO: Key binding
 (defun gnus-article-browse-html-article ()
   "View \"text/html\" parts of the current article with a WWW browser."
   (interactive)