[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r113811: lisp/gnus/mm-decode.el (mm-display-external
From: |
Katsumi Yamaoka |
Subject: |
[Emacs-diffs] trunk r113811: lisp/gnus/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 |
Date: |
Mon, 12 Aug 2013 05:59:54 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 113811
revision-id: address@hidden
parent: address@hidden
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Mon 2013-08-12 05:59:47 +0000
message:
lisp/gnus/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
modified:
lisp/gnus/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1433
lisp/gnus/mm-decode.el
mmdecode.el-20091113204419-o5vbwnq5f7feedwu-1971
=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog 2013-08-12 01:03:33 +0000
+++ b/lisp/gnus/ChangeLog 2013-08-12 05:59:47 +0000
@@ -1,5 +1,9 @@
2013-08-12 Katsumi Yamaoka <address@hidden>
+ * 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.
=== modified file 'lisp/gnus/mm-decode.el'
--- a/lisp/gnus/mm-decode.el 2013-08-12 01:03:33 +0000
+++ b/lisp/gnus/mm-decode.el 2013-08-12 05:59:47 +0000
@@ -954,10 +954,20 @@
method file (mm-handle-type handle))))
(unwind-protect
(if window-system
- (start-process "*display*" nil
- mm-external-terminal-program
- "-e" shell-file-name
- shell-command-switch command)
+ (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 @@
(set-process-sentinel
(get-buffer-process buffer)
`(lambda (process state)
- (if (eq 'exit (process-status process))
- (gnus-configure-windows
- ',gnus-current-window-configuration))))
+ (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 @@
(buffer buffer)
(command command)
(handle handle))
- (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)
+ (run-at-time
+ 60.0 nil
+ (lambda ()
+ (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)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r113811: lisp/gnus/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 <=