]> git.eshelyaron.com Git - emacs.git/commitdiff
(display-time-world-list): Test for zoneinfo support.
authorJason Rumney <jasonr@gnu.org>
Tue, 30 Oct 2007 21:25:32 +0000 (21:25 +0000)
committerJason Rumney <jasonr@gnu.org>
Tue, 30 Oct 2007 21:25:32 +0000 (21:25 +0000)
lisp/ChangeLog
lisp/time.el

index 125ae99ba06660c2cf98e76284ac5fe1bcfbbec7..6c5a112b854f16e433ba004d0612473f3842e269 100644 (file)
@@ -1,3 +1,7 @@
+2007-10-30  Jason Rumney  <jasonr@gnu.org>
+
+       * time.el (display-time-world-list): Test for zoneinfo support.
+
 2007-10-30  Michael Albinus  <michael.albinus@gmx.de>
 
        * net/tramp.el (tramp-maybe-open-connection): Set $LC_ALL to "C".
index e2c98910a3bd4d11b6a6a23a4aea73a4eb1460a0..ef98c6a781906309b1aac240393d35bb32bdf11b 100644 (file)
@@ -150,9 +150,17 @@ LABEL is a string to display as the label of that TIMEZONE's time."
   :version "23.1")
 
 (defcustom display-time-world-list
-  (if (memq 'system-type '(gnu/linux ms-dos))
-      zoneinfo-style-world-list
-    legacy-style-world-list)
+  ;; Determine if zoneinfo style timezones are supported by testing that
+  ;; America/New York and Europe/London return different timezones.
+  (let (gmt nyt)
+    (set-time-zone-rule "America/New York")
+    (setq nyt (format-time-string "%z"))
+    (set-time-zone-rule "Europe/London")
+    (setq gmt (format-time-string "%z"))
+    (set-time-zone-rule nil)
+    (if (string-equal nyt gmt)
+        legacy-style-world-list
+      zoneinfo-style-world-list))
   "Alist of time zones and places for `display-time-world' to display.
 Each element has the form (TIMEZONE LABEL).
 TIMEZONE should be in the format supported by `set-time-zone-rule' on