]> code.delx.au - gnu-emacs/blobdiff - lisp/gnus/gnus-demon.el
Merge from origin/emacs-25
[gnu-emacs] / lisp / gnus / gnus-demon.el
index 115c57774481a563c1913d01c9128e73fad2a5f5..1d4b021d7fae39b08dc7726c50102c4aacdd9b97 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-demon.el --- daemonic Gnus behavior
 
-;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2016 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -93,10 +93,7 @@ Emacs has been idle for IDLE `gnus-demon-timestep's."
 
 (defun gnus-demon-idle-since ()
   "Return the number of seconds since when Emacs is idle."
-  (if (featurep 'xemacs)
-      (itimer-time-difference (current-time) last-command-event-time)
-    (float-time (or (current-idle-time)
-                    '(0 0 0)))))
+  (float-time (or (current-idle-time) '(0 0 0))))
 
 (defun gnus-demon-run-callback (func &optional idle time special)
   "Run FUNC if Emacs has been idle for longer than IDLE seconds.
@@ -144,9 +141,12 @@ marked with SPECIAL."
                        (* (gnus-demon-time-to-step time) gnus-demon-timestep))
                        (t
                        (* time gnus-demon-timestep))))
-           (idle (if (numberp idle)
-                     (* idle gnus-demon-timestep)
-                   idle))
+          (idle (cond ((numberp idle)
+                       (* idle gnus-demon-timestep))
+                      ((and (eq idle t) (numberp time))
+                       time)
+                      (t
+                       idle)))
 
            (timer
             (cond