changeset 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 a9ba8d3ffd87
children cb986696ec03
files lisp/timer.el
diffstat 1 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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)