Mercurial > hg
comparison mercurial/encoding.py @ 36549:3696efeab66f
py3: don't crash when re-raising encoding error
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Thu, 01 Mar 2018 17:56:32 -0500 |
parents | aa877860d4d7 |
children | d4c760c997cd |
comparison
equal
deleted
inserted
replaced
36548:086fc71fbb09 | 36549:3696efeab66f |
---|---|
179 try: | 179 try: |
180 u = s.decode(_sysstr(encoding), _sysstr(encodingmode)) | 180 u = s.decode(_sysstr(encoding), _sysstr(encodingmode)) |
181 return u.encode("utf-8") | 181 return u.encode("utf-8") |
182 except UnicodeDecodeError as inst: | 182 except UnicodeDecodeError as inst: |
183 sub = s[max(0, inst.start - 10):inst.start + 10] | 183 sub = s[max(0, inst.start - 10):inst.start + 10] |
184 raise error.Abort("decoding near '%s': %s!" % (sub, inst)) | 184 raise error.Abort("decoding near '%s': %s!" |
185 % (sub, pycompat.bytestr(inst))) | |
185 except LookupError as k: | 186 except LookupError as k: |
186 raise error.Abort(k, hint="please check your locale settings") | 187 raise error.Abort(k, hint="please check your locale settings") |
187 | 188 |
188 def unitolocal(u): | 189 def unitolocal(u): |
189 """Convert a unicode string to a byte string of local encoding""" | 190 """Convert a unicode string to a byte string of local encoding""" |