changeset 9574:9e9f63d5c456

encoding: fix issue with non-standard UTF-8 CTYPE on OS X
author Dirkjan Ochtman <dirkjan@ochtman.nl>
date Sat, 10 Oct 2009 12:00:43 +0200
parents b8352a3617f3
children 5e44d9e562bc
files mercurial/encoding.py
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/encoding.py	Thu Oct 08 23:42:33 2009 +0200
+++ b/mercurial/encoding.py	Sat Oct 10 12:00:43 2009 +0200
@@ -16,7 +16,9 @@
         # On darwin, getpreferredencoding ignores the locale environment and
         # always returns mac-roman. We override this if the environment is
         # not C (has been customized by the user).
-        locale.setlocale(locale.LC_CTYPE, '')
+        lc = locale.setlocale(locale.LC_CTYPE, '')
+        if lc == 'UTF-8':
+            locale.setlocale(locale.LC_CTYPE, 'en_US.UTF-8')
         encoding = locale.getlocale()[1]
     if not encoding:
         encoding = locale.getpreferredencoding() or 'ascii'