[gnus git] branch master updated: m0-7-213-g49eaab1 =1= mm-decode.el (mm-display-external): Run a timer for the temp files deletion after a viwer exits; add a deletion timer for the needsterm case, too

Katsumi Yamaoka <[email protected]>
Newsgroups gmane.emacs.gnus.cvs
Message-ID <[email protected]>
       via  49eaab1eaf68ccd0cecc052d33e2313edbcccad5 (commit)
      from  aee4ad783678a5d6a48ea356ee647bf45fe524ff (commit)


- Log -----------------------------------------------------------------
commit 49eaab1eaf68ccd0cecc052d33e2313edbcccad5
Author: Katsumi Yamaoka <[email protected]>
Date:   Mon Aug 12 05:59:37 2013 +0000

    mm-decode.el (mm-display-external): Run a timer for the temp files deletion after a viwer exits; add a deletion timer for the needsterm case, too

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 006b291..c633ea0 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,9 @@
 2013-08-12  Katsumi Yamaoka  <[email protected]>
 
+	* mm-decode.el (mm-display-external): Run a timer for the temp files
+	deletion after a viwer exits; add a deletion timer for the needsterm
+	case, too.
+
 	* mm-decode.el (mm-display-external): Try to delete temporary files by
 	using a 1-min. timer.
 
diff --git a/lisp/mm-decode.el b/lisp/mm-decode.el
index 40c1d84..dbbf0be 100644
--- a/lisp/mm-decode.el
+++ b/lisp/mm-decode.el
@@ -954,10 +954,20 @@ external if displayed external."
 			    method file (mm-handle-type handle))))
 	      (unwind-protect
 		  (if window-system
+		      (set-process-sentinel
 		      (start-process "*display*" nil
 				     mm-external-terminal-program
 				     "-e" shell-file-name
 				     shell-command-switch command)
+		       `(lambda (process state)
+			  (if (eq 'exit (process-status process))
+			      (run-at-time
+			       60.0 nil
+			       (lambda ()
+				 (ignore-errors (delete-file ,file))
+				 (ignore-errors (delete-directory
+						 ,(file-name-directory
+						   file))))))))
 		    (require 'term)
 		    (require 'gnus-win)
 		    (set-buffer
@@ -971,11 +981,15 @@ external if displayed external."
 		    (set-process-sentinel
 		     (get-buffer-process buffer)
 		     `(lambda (process state)
-			(if (eq 'exit (process-status process))
+			(when (eq 'exit (process-status process))
+			  (ignore-errors (delete-file ,file))
+			  (ignore-errors
+			    (delete-directory ,(file-name-directory file)))
 			    (gnus-configure-windows
 			     ',gnus-current-window-configuration))))
 		    (gnus-configure-windows 'display-term))
-		(mm-handle-set-external-undisplayer handle (cons file buffer)))
+		(mm-handle-set-external-undisplayer handle (cons file buffer))
+		(add-to-list 'mm-temp-files-to-be-deleted file t))
 	      (message "Displaying %s..." command))
 	    'external)
 	   (copiousoutput
@@ -1021,15 +1035,14 @@ external if displayed external."
 				   (buffer buffer)
 				   (command command)
 				   (handle handle))
+		       (lambda (process state)
+			 (when (eq (process-status process) 'exit)
 		       (run-at-time
 			60.0 nil
 			(lambda ()
-			  (ignore-errors
-			    (delete-file file))
-			  (ignore-errors
-			    (delete-directory (file-name-directory file)))))
-		       (lambda (process state)
-			 (when (eq (process-status process) 'exit)
+			      (ignore-errors (delete-file file))
+			      (ignore-errors (delete-directory
+					      (file-name-directory file)))))
 			   (when (buffer-live-p outbuf)
 			     (with-current-buffer outbuf
 			       (let ((buffer-read-only nil)

-----------------------------------------------------------------------
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we listed those
revisions in full, above.

Summary of changes:
 lisp/ChangeLog    |    4 ++++
 lisp/mm-decode.el |   43 ++++++++++++++++++++++++++++---------------
 2 files changed, 32 insertions(+), 15 deletions(-)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnus Project".

The branch, master has been updated


hooks/post-receive
-- 
Gnus Project
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.