clang-format.py currently seems to treat vim.current.buf as ascii-encoded data,
which leads to an UnicodeDecodeError when trying to format any text containing
non-ascii characters:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File ".../tools/clang/tools/clang-format/clang-format.py", line 110, in <module>
main()
File ".../tools/clang/tools/clang-format/clang-format.py", line 87, in main
stdout, stderr = p.communicate(input=text.encode(encoding))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 3996: ordinal not in range(128)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@284988
91177308-0d34-0410-b5e6-
96231b3b80d8
# Get the current text.
encoding = vim.eval("&encoding")
buf = vim.current.buffer
- text = '\n'.join(buf)
+ text = unicode('\n'.join(buf), encoding)
# Determine range to format.
if vim.eval('exists("l:lines")') == '1':