# HG changeset patch # User Martin Geisler # Date 1254179298 -7200 # Node ID b2d65ee49a72f374fd6831f229e03ca723c29c77 # Parent 44758742ad2ee71ba93686a6c1990227d3524b7d ui: guard against UnicodeDecodeErrors in ui.wrap diff -r 44758742ad2e -r b2d65ee49a72 mercurial/util.py --- a/mercurial/util.py Sun Sep 27 01:44:46 2009 +0200 +++ b/mercurial/util.py Tue Sep 29 01:08:18 2009 +0200 @@ -1278,9 +1278,12 @@ padding = '\n' + ' ' * hangindent # To avoid corrupting multi-byte characters in line, we must wrap # a Unicode string instead of a bytestring. - u = line.decode(encoding.encoding) - w = padding.join(textwrap.wrap(u, width=width - hangindent)) - return w.encode(encoding.encoding) + try: + u = line.decode(encoding.encoding) + w = padding.join(textwrap.wrap(u, width=width - hangindent)) + return w.encode(encoding.encoding) + except UnicodeDecodeError: + return padding.join(textwrap.wrap(line, width=width - hangindent)) def iterlines(iterator): for chunk in iterator: