comparison lisp/vm/vm-folder.el @ 118:7d55a9ba150c r20-1b11

Import from CVS: tag r20-1b11
author cvs
date Mon, 13 Aug 2007 09:24:17 +0200
parents 9f59509498e1
children cca96a509cfe
comparison
equal deleted inserted replaced
117:578fd4947a72 118:7d55a9ba150c
2171 ((condition-case data 2171 ((condition-case data
2172 (progn (require 'timer) t) 2172 (progn (require 'timer) t)
2173 (error nil)) 2173 (error nil))
2174 (let (timer) 2174 (let (timer)
2175 (and (natnump vm-flush-interval) 2175 (and (natnump vm-flush-interval)
2176 (not (vm-timer-using 'vm-flush-itimer-function))
2176 (setq timer (run-at-time vm-flush-interval vm-flush-interval 2177 (setq timer (run-at-time vm-flush-interval vm-flush-interval
2177 'vm-flush-itimer-function nil)) 2178 'vm-flush-itimer-function nil))
2178 (timer-set-function timer 'vm-flush-itimer-function 2179 (timer-set-function timer 'vm-flush-itimer-function
2179 (list timer))) 2180 (list timer)))
2180 (and (natnump vm-mail-check-interval) 2181 (and (natnump vm-mail-check-interval)
2182 (not (vm-timer-using 'vm-check-mail-itimer-function))
2181 (setq timer (run-at-time vm-mail-check-interval 2183 (setq timer (run-at-time vm-mail-check-interval
2182 vm-mail-check-interval 2184 vm-mail-check-interval
2183 'vm-check-mail-itimer-function nil)) 2185 'vm-check-mail-itimer-function nil))
2184 (timer-set-function timer 'vm-check-mail-itimer-function 2186 (timer-set-function timer 'vm-check-mail-itimer-function
2185 (list timer))) 2187 (list timer)))
2186 (and (natnump vm-auto-get-new-mail) 2188 (and (natnump vm-auto-get-new-mail)
2189 (not (vm-timer-using 'vm-get-mail-itimer-function))
2187 (setq timer (run-at-time vm-auto-get-new-mail 2190 (setq timer (run-at-time vm-auto-get-new-mail
2188 vm-auto-get-new-mail 2191 vm-auto-get-new-mail
2189 'vm-get-mail-itimer-function nil)) 2192 'vm-get-mail-itimer-function nil))
2190 (timer-set-function timer 'vm-get-mail-itimer-function 2193 (timer-set-function timer 'vm-get-mail-itimer-function
2191 (list timer))))) 2194 (list timer)))))
2192 (t 2195 (t
2193 (setq vm-flush-interval t 2196 (setq vm-flush-interval t
2194 vm-auto-get-new-mail t)))) 2197 vm-auto-get-new-mail t))))
2198
2199 (defun vm-timer-using (fun)
2200 (let ((p timer-list)
2201 (done nil))
2202 (while (and p (not done))
2203 (if (eq (aref (car p) 5) fun)
2204 (setq done t)
2205 (setq p (cdr p))))
2206 p ))
2195 2207
2196 ;; support for vm-mail-check-interval 2208 ;; support for vm-mail-check-interval
2197 ;; if timer argument is present, this means we're using the Emacs 2209 ;; if timer argument is present, this means we're using the Emacs
2198 ;; 'timer package rather than the 'itimer package. 2210 ;; 'timer package rather than the 'itimer package.
2199 (defun vm-check-mail-itimer-function (&optional timer) 2211 (defun vm-check-mail-itimer-function (&optional timer)