1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-26 10:49:33 +00:00

(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.
This commit is contained in:
Richard M. Stallman 1996-03-24 02:05:38 +00:00
parent 621ca7a223
commit 1b96639086

View File

@ -51,7 +51,9 @@ fire repeatedly that many seconds apart."
(error "Invalid timer"))
(aset timer 1 (car time))
(aset timer 2 (if (consp (cdr time)) (car (cdr time)) (cdr time)))
(aset timer 3 (if (consp (cdr time)) (nth 2 time) 0))
(aset timer 3 (or (and (consp (cdr time)) (consp (cdr (cdr time)))
(nth 2 time))
0))
(aset timer 4 (and (numberp delta) (> delta 0) delta))
timer)
@ -216,7 +218,9 @@ fire repeatedly that many seconds apart."
;; Delete from queue.
(cancel-timer timer)
;; Run handler
(apply (aref timer 5) (aref timer 6))
(condition-case nil
(apply (aref timer 5) (aref timer 6))
(error nil))
;; Re-schedule if requested.
(if (aref timer 4)
(if (aref timer 7)
@ -391,7 +395,10 @@ If the user does not answer after SECONDS seconds, return DEFAULT-VALUE."
secs (+ secs (* count itemsize)))
(setq secs nil
start (length string)))))
secs))
(if (= start (length string))
secs
(if (string-match "\\`[0-9.]+\\'" string)
(string-to-number string)))))
(provide 'timer)