aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatsumi Yamaoka2013-08-06 13:52:59 +0000
committerKatsumi Yamaoka2013-08-06 13:52:59 +0000
commita6933dccd7ac7f5dcae6fe590b3fea68bad7f767 (patch)
tree7a219d80fb24fc3efd084f89410d7bea3dab2bb3
parent024b38fc4d3e1e09871109f428d80d37166ae032 (diff)
downloademacs-a6933dccd7ac7f5dcae6fe590b3fea68bad7f767.tar.gz
emacs-a6933dccd7ac7f5dcae6fe590b3fea68bad7f767.zip
lisp/gnus/mm-decode.el (mm-display-external): Work for xdg-open
-rw-r--r--lisp/gnus/ChangeLog7
-rw-r--r--lisp/gnus/mm-decode.el15
2 files changed, 15 insertions, 7 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 2ae70791c16..238017e25fc 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,10 @@
12013-08-06 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * mm-decode.el (mm-display-external): Bind process-connection-type to
4 nil; don't delete a temp file immediately even if a viewer finishes,
5 since it may be a shell script, like xdg-open, that launches a real
6 viewer program belatedly.
7
12013-08-05 Dave Abrahams <dave@boostpro.com> 82013-08-05 Dave Abrahams <dave@boostpro.com>
2 9
3 * gnus-int.el (gnus-warp-to-article): Allow warping in all groups so 10 * gnus-int.el (gnus-warp-to-article): Allow warping in all groups so
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index 7274708f014..98d854340ee 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -962,7 +962,7 @@ external if displayed external."
962 (let ((command (mm-mailcap-command 962 (let ((command (mm-mailcap-command
963 method file (mm-handle-type handle)))) 963 method file (mm-handle-type handle))))
964 (unwind-protect 964 (unwind-protect
965 (progn 965 (let ((process-connection-type nil))
966 (start-process "*display*" 966 (start-process "*display*"
967 (setq buffer 967 (setq buffer
968 (generate-new-buffer " *mm*")) 968 (generate-new-buffer " *mm*"))
@@ -984,12 +984,13 @@ external if displayed external."
984 (delete-directory (file-name-directory file))))) 984 (delete-directory (file-name-directory file)))))
985 (lambda (process state) 985 (lambda (process state)
986 (when (eq (process-status process) 'exit) 986 (when (eq (process-status process) 'exit)
987 (condition-case nil 987 (run-at-time
988 (delete-file file) 988 10.0 nil
989 (error)) 989 (lambda ()
990 (condition-case nil 990 (ignore-errors
991 (delete-directory (file-name-directory file)) 991 (delete-file file))
992 (error)) 992 (ignore-errors
993 (delete-directory (file-name-directory file)))))
993 (when (buffer-live-p outbuf) 994 (when (buffer-live-p outbuf)
994 (with-current-buffer outbuf 995 (with-current-buffer outbuf
995 (let ((buffer-read-only nil) 996 (let ((buffer-read-only nil)