diff options
| author | Katsumi Yamaoka | 2013-08-06 13:52:59 +0000 |
|---|---|---|
| committer | Katsumi Yamaoka | 2013-08-06 13:52:59 +0000 |
| commit | a6933dccd7ac7f5dcae6fe590b3fea68bad7f767 (patch) | |
| tree | 7a219d80fb24fc3efd084f89410d7bea3dab2bb3 | |
| parent | 024b38fc4d3e1e09871109f428d80d37166ae032 (diff) | |
| download | emacs-a6933dccd7ac7f5dcae6fe590b3fea68bad7f767.tar.gz emacs-a6933dccd7ac7f5dcae6fe590b3fea68bad7f767.zip | |
lisp/gnus/mm-decode.el (mm-display-external): Work for xdg-open
| -rw-r--r-- | lisp/gnus/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/gnus/mm-decode.el | 15 |
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 @@ | |||
| 1 | 2013-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 | |||
| 1 | 2013-08-05 Dave Abrahams <dave@boostpro.com> | 8 | 2013-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) |