summaryrefslogtreecommitdiff
path: root/lisp/gnus/mm-decode.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/gnus/mm-decode.el')
-rw-r--r--lisp/gnus/mm-decode.el22
1 files changed, 15 insertions, 7 deletions
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index 7e6f93be1f1..361c83cfa7c 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -883,13 +883,21 @@ external if displayed external."
;; a vector in Emacs but is a list in XEmacs)
;; requires that it is lexically scoped.
(timer (run-at-time 2.0 nil 'ignore)))
- (lambda (process state)
- (when (eq 'exit (process-status process))
- (if (memq timer timer-list)
- (timer-set-function timer fn)
- (funcall fn))
- (ignore-errors (eval fm))
- (message "%s" done))))))
+ (if (boundp 'itimer-list)
+ (lambda (process state)
+ (when (eq 'exit (process-status process))
+ (if (memq timer itimer-list)
+ (set-itimer-function timer fn)
+ (funcall fn))
+ (ignore-errors (eval fm))
+ (message "%s" done)))
+ (lambda (process state)
+ (when (eq 'exit (process-status process))
+ (if (memq timer timer-list)
+ (timer-set-function timer fn)
+ (funcall fn))
+ (ignore-errors (eval fm))
+ (message "%s" done)))))))
(mm-handle-set-external-undisplayer
handle (cons file buffer)))
(message "Displaying %s..." command))