Mercurial > emacs
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 |