Skip to content

Commit 0f668c9

Browse files
committed
Fix len() for py
1 parent 1b4b4f1 commit 0f668c9

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

py/vimlfunc.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,12 @@ def viml_keys(obj):
131131
return obj.keys()
132132

133133
def viml_len(obj):
134-
try:
135-
if type(obj) is str:
136-
return len(obj.encode('utf-8', 'ignore'))
137-
except UnicodeDecodeError:
138-
pass
134+
if type(obj) is str:
135+
if sys.version_info < (3, 0):
136+
b = bytes(obj)
137+
else:
138+
b = bytes(obj, 'utf8')
139+
return len(b)
139140
return len(obj)
140141

141142
def viml_printf(*args):

py/vimlparser.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,12 @@ def viml_keys(obj):
131131
return obj.keys()
132132

133133
def viml_len(obj):
134-
try:
135-
if type(obj) is str:
136-
return len(obj.encode('utf-8', 'ignore'))
137-
except UnicodeDecodeError:
138-
pass
134+
if type(obj) is str:
135+
if sys.version_info < (3, 0):
136+
b = bytes(obj)
137+
else:
138+
b = bytes(obj, 'utf8')
139+
return len(b)
139140
return len(obj)
140141

141142
def viml_printf(*args):

0 commit comments

Comments
 (0)