emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r113718: lisp/gnus/mm-decode.el (mm-display-external


From: Katsumi Yamaoka
Subject: [Emacs-diffs] trunk r113718: lisp/gnus/mm-decode.el (mm-display-external): Work for xdg-open
Date: Tue, 06 Aug 2013 13:53:07 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 113718
revision-id: address@hidden
parent: address@hidden
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Tue 2013-08-06 13:52:59 +0000
message:
  lisp/gnus/mm-decode.el (mm-display-external): Work for xdg-open
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-05 14:15:37 +0000
+++ b/lisp/gnus/ChangeLog       2013-08-06 13:52:59 +0000
@@ -1,3 +1,10 @@
+2013-08-06  Katsumi Yamaoka  <address@hidden>
+
+       * mm-decode.el (mm-display-external): Bind process-connection-type to
+       nil; don't delete a temp file immediately even if a viewer finishes,
+       since it may be a shell script, like xdg-open, that launches a real
+       viewer program belatedly.
+
 2013-08-05  Dave Abrahams  <address@hidden>
 
        * gnus-int.el (gnus-warp-to-article): Allow warping in all groups so

=== modified file 'lisp/gnus/mm-decode.el'
--- a/lisp/gnus/mm-decode.el    2013-08-01 22:58:40 +0000
+++ b/lisp/gnus/mm-decode.el    2013-08-06 13:52:59 +0000
@@ -962,7 +962,7 @@
            (let ((command (mm-mailcap-command
                            method file (mm-handle-type handle))))
              (unwind-protect
-                 (progn
+                 (let ((process-connection-type nil))
                    (start-process "*display*"
                                   (setq buffer
                                         (generate-new-buffer " *mm*"))
@@ -984,12 +984,13 @@
                            (delete-directory (file-name-directory file)))))
                       (lambda (process state)
                         (when (eq (process-status process) 'exit)
-                          (condition-case nil
-                              (delete-file file)
-                            (error))
-                          (condition-case nil
-                              (delete-directory (file-name-directory file))
-                            (error))
+                          (run-at-time
+                           10.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)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]