mercurial/pycompat.py
branchstable
changeset 44977 afcad425a0b6
parent 44918 7be784f301fa
child 44998 f2de8f31cb59
--- a/mercurial/pycompat.py	Mon Jun 22 22:15:57 2020 -0700
+++ b/mercurial/pycompat.py	Wed Jun 24 04:25:34 2020 +0200
@@ -178,9 +178,16 @@
         if os.name == r'nt':
             sysargv = [a.encode("mbcs", "ignore") for a in sys.argv]
         else:
+
+            def getdefaultlocale_if_known():
+                try:
+                    return locale.getdefaultlocale()
+                except ValueError:
+                    return None, None
+
             encoding = (
                 locale.getlocale()[1]
-                or locale.getdefaultlocale()[1]
+                or getdefaultlocale_if_known()[1]
                 or sys.getfilesystemencoding()
             )
             sysargv = [a.encode(encoding, "surrogateescape") for a in sys.argv]