Merge from gnus--rel--5.10
[gnus] / lisp / gnus-demon.el
index a8515b8..4569ccb 100644 (file)
@@ -1,7 +1,7 @@
 ;;; gnus-demon.el --- daemonic Gnus behaviour
 
-;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2003
-;;      Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -20,8 +20,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
 (require 'nntp)
 (require 'nnmail)
 (require 'gnus-util)
-(eval-and-compile
-  (if (featurep 'xemacs)
-      (require 'itimer)
-    (require 'timer)))
+
+(autoload 'parse-time-string "parse-time" nil nil)
 
 (defgroup gnus-demon nil
   "Demonic behaviour."
@@ -216,7 +214,7 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's."
                   (< idle gnus-demon-idle-time)) ; Idle timed out.
                  (t (< 0 gnus-demon-idle-time)))) ; Or just need to be idle.
               ;; So we call the handler.
-              (progn
+              (gnus-with-local-quit
                 (ignore-errors (funcall (car handler)))
                 ;; And reset the timer.
                 (setcar (nthcdr 1 handler)
@@ -230,14 +228,15 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's."
               (gnus-demon-is-idle-p))
          ;; We want to call this handler each and every time that
          ;; Emacs is idle.
-         (ignore-errors (funcall (car handler))))
+         (gnus-with-local-quit
+           (ignore-errors (funcall (car handler)))))
         (t
          ;; We want to call this handler only if Emacs has been idle
          ;; for a specified number of timesteps.
          (and (not (memq (car handler) gnus-demon-idle-has-been-called))
               (< idle gnus-demon-idle-time)
               (gnus-demon-is-idle-p)
-              (progn
+              (gnus-with-local-quit
                 (ignore-errors (funcall (car handler)))
                 ;; Make sure the handler won't be called once more in
                 ;; this idle-cycle.
@@ -322,4 +321,5 @@ minutes, the connection is closed."
 
 (provide 'gnus-demon)
 
+;;; arch-tag: 8dd5cd3d-6ae4-46b4-9b15-f5fca09fd392
 ;;; gnus-demon.el ends here