1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 04:10:54 -08:00

Port recent org-clock fix to POSIX time_t

* lisp/org/org-clock.el (org-clock-special-range):
Don't assume support for time_t values less than 0, or less than
-2**31 for that matter (Bug#27736).
This commit is contained in:
Paul Eggert 2018-03-28 15:03:40 -07:00
parent e9bfd114a5
commit fde99c729c

View file

@ -2239,8 +2239,18 @@ have priority."
(let* ((start (pcase key
(`interactive (org-read-date nil t nil "Range start? "))
;; In theory, all clocks started after the dawn of
;; humanity.
(`untilnow (encode-time 0 0 0 0 0 -50000))
;; humanity. However, the platform's clock
;; support might not go back that far. Choose the
;; POSIX timestamp -2**41 (approximately 68,000
;; BCE) if that works, otherwise -2**31 (1901) if
;; that works, otherwise 0 (1970). Going back
;; billions of years would loop forever on Mac OS
;; X 10.6 with Emacs 26 and earlier (Bug#27736).
(`untilnow
(let ((old 0))
(dolist (older '((-32768 0) (-33554432 0)) old)
(when (ignore-errors (decode-time older))
(setq old older)))))
(_ (encode-time 0 m h d month y))))
(end (pcase key
(`interactive (org-read-date nil t nil "Range end? "))