--- 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):