diff -r c20688b7c061 -r 1f581a8b1948 mercurial/encoding.py --- a/mercurial/encoding.py Thu Aug 25 21:25:14 2011 +0200 +++ b/mercurial/encoding.py Mon Jul 25 15:19:43 2011 -0500 @@ -140,12 +140,12 @@ def colwidth(s): "Find the column width of a UTF-8 string for display" d = s.decode(encoding, 'replace') - if hasattr(unicodedata, 'east_asian_width'): + eaw = getattr(unicodedata, 'east_asian_width', None) + if eaw is not None: wide = "WF" if ambiguous == "wide": wide = "WFA" - w = unicodedata.east_asian_width - return sum([w(c) in wide and 2 or 1 for c in d]) + return sum([eaw(c) in wide and 2 or 1 for c in d]) return len(d) def lower(s):