* lpath.el: Fbind clear-string and cp-supported-codepages; don't fbind
[gnus] / lisp / mm-decode.el
index ce3010f..e9ca1d4 100644 (file)
@@ -881,13 +881,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))