[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master fde99c7: Port recent org-clock fix to POSIX time_t
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master fde99c7: Port recent org-clock fix to POSIX time_t |
Date: |
Wed, 28 Mar 2018 18:04:55 -0400 (EDT) |
branch: master
commit fde99c729c46c775dbdfe5bebf857c67138ae7f0
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
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).
---
lisp/org/org-clock.el | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index ff32e28..9be0d5b 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -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? "))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master fde99c7: Port recent org-clock fix to POSIX time_t,
Paul Eggert <=