branch: elpa/datetime
commit a85ee71711eccb2b731d42187117416fb138a285
Author: Paul Pogonyshev <pogonys...@gmail.com>
Commit: Paul Pogonyshev <pogonys...@gmail.com>

    Fix certain fallbacks in `timezone-name-data.extmap' not being used when 
possible.
---
 dev/HarvestData.java      |  10 ++++++----
 timezone-name-data.extmap | Bin 3388371 -> 2753959 bytes
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/dev/HarvestData.java b/dev/HarvestData.java
index 4221be4b5b..41e785230d 100644
--- a/dev/HarvestData.java
+++ b/dev/HarvestData.java
@@ -448,7 +448,7 @@ public class HarvestData
         Map <String, String[]>  parent_data;
 
         if (Objects.equals (locale, parent))
-            parent_data = Collections.emptyMap ();
+            parent_data = english_data;
         else {
             removeUnnecessaryTimezoneNameData (data, parent);
             parent_data = data.get (parent);
@@ -458,13 +458,15 @@ public class HarvestData
         // the full names.
         locale_data.entrySet ().stream ().forEach ((entry) -> {
                 String[]  names = entry.getValue ();
-                if (Objects.equals (names[0], english_data.get (entry.getKey 
()) [0]) && Objects.equals (names[1], english_data.get (entry.getKey ()) [1]))
+
+                // First clause is important for locales like `en-US', for 
example.
+                if (!Arrays.equals (names, english_data.get (entry.getKey ()))
+                    && Objects.equals (names[0], english_data.get 
(entry.getKey ()) [0]) && Objects.equals (names[1], english_data.get 
(entry.getKey ()) [1]))
                     names[0] = names[1] = null;
             });
 
         // Fall back to the parent locale where possible.
-        locale_data.entrySet ().removeIf ((entry) -> (Objects   .equals 
(entry.getValue (), english_data.get (entry.getKey ()))
-                                                      || Objects.equals 
(entry.getValue (), parent_data .get (entry.getKey ()))));
+        locale_data.entrySet ().removeIf ((entry) -> Arrays.equals 
(entry.getValue (), parent_data.getOrDefault (entry.getKey (), english_data.get 
(entry.getKey ()))));
     }
 
 
diff --git a/timezone-name-data.extmap b/timezone-name-data.extmap
index ab910b2085..0b669193ac 100644
Binary files a/timezone-name-data.extmap and b/timezone-name-data.extmap differ

Reply via email to