1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-28 07:45:00 +00:00

* type-break.el: Accept time formats that the builtins accept.

(timep, type-break-time-difference): Accept any format that
float-time accepts, rather than insisting on (HIGH LOW USECS) format.
This is simpler and helps future-proof the code.
(type-break-time-difference): Round rather than ignoring
subseconds components.
This commit is contained in:
Paul Eggert 2011-07-03 16:51:42 -07:00
parent 1e49bfab49
commit 7b9430b450
2 changed files with 14 additions and 12 deletions

View File

@ -1,3 +1,12 @@
2011-07-03 Paul Eggert <eggert@cs.ucla.edu>
* type-break.el: Accept time formats that the builtins accept.
(timep, type-break-time-difference): Accept any format that
float-time accepts, rather than insisting on (HIGH LOW USECS) format.
This is simpler and helps future-proof the code.
(type-break-time-difference): Round rather than ignoring
subseconds components.
2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
* info.el (Info-apropos-matches): Make non-interactive, since it

View File

@ -47,7 +47,7 @@
;; or set the variable of the same name to `t'.
;; This program can truly cons up a storm because of all the calls to
;; `current-time' (which always returns 3 fresh conses). I'm dismayed by
;; `current-time' (which always returns fresh conses). I'm dismayed by
;; this, but I think the health of my hands is far more important than a
;; few pages of virtual memory.
@ -501,12 +501,9 @@ variable of the same name."
(defun timep (time)
"If TIME is in the format returned by `current-time' then
return TIME, else return nil."
(and (listp time)
(eq (length time) 3)
(integerp (car time))
(integerp (nth 1 time))
(integerp (nth 2 time))
time))
(condition-case nil
(progn (float-time time) time)
(error nil)))
(defun type-break-choose-file ()
"Return file to read from."
@ -993,12 +990,8 @@ FRAC should be the inverse of the fractional value; for example, a value of
;; Compute the difference, in seconds, between a and b, two structures
;; similar to those returned by `current-time'.
;; Use addition rather than logand since that is more robust; the low 16
;; bits of the seconds might have been incremented, making it more than 16
;; bits wide.
(defun type-break-time-difference (a b)
(+ (lsh (- (car b) (car a)) 16)
(- (car (cdr b)) (car (cdr a)))))
(round (float-time (time-subtract b a))))
;; Return (in a new list the same in structure to that returned by
;; `current-time') the sum of the arguments. Each argument may be a time