emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-26 bd49b6f: Workaround for faulty localtime() under


From: Charles A. Roelli
Subject: [Emacs-diffs] emacs-26 bd49b6f: Workaround for faulty localtime() under macOS 10.6
Date: Sun, 1 Oct 2017 13:07:59 -0400 (EDT)

branch: emacs-26
commit bd49b6f1b39cffeaf6098bc7b0182552683b1c07
Author: Charles A. Roelli <address@hidden>
Commit: Charles A. Roelli <address@hidden>

    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 8df185d..2eec817 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]