comparison lisp/timer.el @ 14870:c51cef393dae

(timer-set-time): Don't set usecs to nil. (timer-duration): Return nil if junk at end of string. Handle just a number--treat it as number of seconds.
author Richard M. Stallman <rms@gnu.org>
date Sun, 24 Mar 1996 02:05:38 +0000
parents 5e7b3fbecc8d
children 38e792454ee3
comparison
equal deleted inserted replaced
14869:a9ba8d3ffd87 14870:c51cef393dae
49 fire repeatedly that many seconds apart." 49 fire repeatedly that many seconds apart."
50 (or (timerp timer) 50 (or (timerp timer)
51 (error "Invalid timer")) 51 (error "Invalid timer"))
52 (aset timer 1 (car time)) 52 (aset timer 1 (car time))
53 (aset timer 2 (if (consp (cdr time)) (car (cdr time)) (cdr time))) 53 (aset timer 2 (if (consp (cdr time)) (car (cdr time)) (cdr time)))
54 (aset timer 3 (if (consp (cdr time)) (nth 2 time) 0)) 54 (aset timer 3 (or (and (consp (cdr time)) (consp (cdr (cdr time)))
55 (nth 2 time))
56 0))
55 (aset timer 4 (and (numberp delta) (> delta 0) delta)) 57 (aset timer 4 (and (numberp delta) (> delta 0) delta))
56 timer) 58 timer)
57 59
58 (defun timer-set-idle-time (timer secs &optional repeat) 60 (defun timer-set-idle-time (timer secs &optional repeat)
59 "Set the trigger idle time of TIMER to SECS. 61 "Set the trigger idle time of TIMER to SECS.
214 (if (timerp timer) 216 (if (timerp timer)
215 (progn 217 (progn
216 ;; Delete from queue. 218 ;; Delete from queue.
217 (cancel-timer timer) 219 (cancel-timer timer)
218 ;; Run handler 220 ;; Run handler
219 (apply (aref timer 5) (aref timer 6)) 221 (condition-case nil
222 (apply (aref timer 5) (aref timer 6))
223 (error nil))
220 ;; Re-schedule if requested. 224 ;; Re-schedule if requested.
221 (if (aref timer 4) 225 (if (aref timer 4)
222 (if (aref timer 7) 226 (if (aref timer 7)
223 (timer-activate-when-idle timer) 227 (timer-activate-when-idle timer)
224 (timer-inc-time timer (aref timer 4) 0) 228 (timer-inc-time timer (aref timer 4) 0)
389 (if itemsize 393 (if itemsize
390 (setq start (match-end 0) 394 (setq start (match-end 0)
391 secs (+ secs (* count itemsize))) 395 secs (+ secs (* count itemsize)))
392 (setq secs nil 396 (setq secs nil
393 start (length string))))) 397 start (length string)))))
394 secs)) 398 (if (= start (length string))
399 secs
400 (if (string-match "\\`[0-9.]+\\'" string)
401 (string-to-number string)))))
395 402
396 (provide 'timer) 403 (provide 'timer)
397 404
398 ;;; timer.el ends here 405 ;;; timer.el ends here