# HG changeset patch # User Richard M. Stallman # Date 827633138 0 # Node ID c51cef393dae8a2f5e3bd67def6c7bb307704bda # Parent a9ba8d3ffd871a52b1ba4358da3a00d9f12b844e (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. diff -r a9ba8d3ffd87 -r c51cef393dae lisp/timer.el --- a/lisp/timer.el Sun Mar 24 00:26:02 1996 +0000 +++ b/lisp/timer.el Sun Mar 24 02:05:38 1996 +0000 @@ -51,7 +51,9 @@ (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 @@ ;; 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 @@ 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)