Mercurial > public > mercurial-scm > hg
comparison mercurial/encoding.py @ 15769:afdf4f5bac61
encoding: use hint markup for "please check your locale settings"
This will also make test-encoding.t pass on windows. The test would hit some
other code path that already used hint markup.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Mon, 26 Dec 2011 15:01:06 +0100 |
parents | 2ebe3d0ce91d |
children | 84c58da3a1f8 |
comparison
equal
deleted
inserted
replaced
15768:cdf9c43445df | 15769:afdf4f5bac61 |
---|---|
103 return localstr(s, r) | 103 return localstr(s, r) |
104 else: | 104 else: |
105 return localstr(u.encode('UTF-8'), r) | 105 return localstr(u.encode('UTF-8'), r) |
106 | 106 |
107 except LookupError, k: | 107 except LookupError, k: |
108 raise error.Abort("%s, please check your locale settings" % k) | 108 raise error.Abort(k, hint="please check your locale settings") |
109 except UnicodeDecodeError: | 109 except UnicodeDecodeError: |
110 pass | 110 pass |
111 u = s.decode("utf-8", "replace") # last ditch | 111 u = s.decode("utf-8", "replace") # last ditch |
112 return u.encode(encoding, "replace") # can't round-trip | 112 return u.encode(encoding, "replace") # can't round-trip |
113 | 113 |
130 return s.decode(encoding, encodingmode).encode("utf-8") | 130 return s.decode(encoding, encodingmode).encode("utf-8") |
131 except UnicodeDecodeError, inst: | 131 except UnicodeDecodeError, inst: |
132 sub = s[max(0, inst.start - 10):inst.start + 10] | 132 sub = s[max(0, inst.start - 10):inst.start + 10] |
133 raise error.Abort("decoding near '%s': %s!" % (sub, inst)) | 133 raise error.Abort("decoding near '%s': %s!" % (sub, inst)) |
134 except LookupError, k: | 134 except LookupError, k: |
135 raise error.Abort("%s, please check your locale settings" % k) | 135 raise error.Abort(k, hint="please check your locale settings") |
136 | 136 |
137 # How to treat ambiguous-width characters. Set to 'wide' to treat as wide. | 137 # How to treat ambiguous-width characters. Set to 'wide' to treat as wide. |
138 wide = (os.environ.get("HGENCODINGAMBIGUOUS", "narrow") == "wide" | 138 wide = (os.environ.get("HGENCODINGAMBIGUOUS", "narrow") == "wide" |
139 and "WFA" or "WF") | 139 and "WFA" or "WF") |
140 | 140 |