From bd49b6f1b39cffeaf6098bc7b0182552683b1c07 Mon Sep 17 00:00:00 2001 From: "Charles A. Roelli" Date: Sat, 30 Sep 2017 20:42:03 +0200 Subject: [PATCH] Workaround for faulty localtime() under macOS 10.6 * lisp/org/org-clock.el (org-clock--oldest-date): Only execute 'decode-time' on times later than year -2**31 under macOS 10.6. See Bug#27706. --- lisp/org/org-clock.el | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el index 8df185d2e91..2eec817735a 100644 --- a/lisp/org/org-clock.el +++ b/lisp/org/org-clock.el @@ -478,7 +478,17 @@ to add an effort property.") (funcall dichotomy most-negative-fixnum 0 - (lambda (m) (ignore-errors (decode-time (list m 0)))))) + (lambda (m) + ;; libc in macOS 10.6 hangs when decoding times + ;; around year -2**31. Limit `high' not to go + ;; any earlier than that. + (unless (and (eq system-type 'darwin) + (string-match-p + "10\\.6\\.[[:digit:]]" + (shell-command-to-string + "sw_vers -productVersion")) + (<= m -1034058203136)) + (ignore-errors (decode-time (list m 0))))))) (low (funcall dichotomy most-negative-fixnum -- 2.39.5