Fix check_uniques in non-unicode locale
authorThomas Miedema <thomasmiedema@gmail.com>
Thu, 30 Jun 2016 08:32:00 +0000 (10:32 +0200)
committerThomas Miedema <thomasmiedema@gmail.com>
Thu, 30 Jun 2016 21:00:55 +0000 (23:00 +0200)
Testcase: `LC_ALL=C make -C utils/checkUniques`. Works with python2 and
python3.

Reviewed by: bgamari

Differential Revision: https://phabricator.haskell.org/D2372

utils/checkUniques/check-uniques.py

index 42b375e..67322c2 100755 (executable)
@@ -5,6 +5,7 @@ import os.path
 import sys
 import re
 import glob
+import io
 from collections import defaultdict
 
 # keyed on unique type, values are lists of (unique, name) pairs
@@ -12,7 +13,7 @@ def find_uniques(source_files):
     uniques = defaultdict(lambda: defaultdict(lambda: set()))
     unique_re = re.compile(r"([\w\d]+)\s*=\s*mk([\w\d']+)Unique\s+(\d+)")
     for f in source_files:
-        ms = unique_re.findall(open(f).read())
+        ms = unique_re.findall(io.open(f, encoding='utf8').read())
         for m in ms:
             name = m[0]
             _type = m[1]