Fix clang-format vim integration issue with non-ascii characters

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)

llvm-svn: 284988
This commit is contained in:
Alexander Kornienko 2016-10-24 16:31:26 +00:00
parent b0f359e610
commit f51bf96977
1 changed files with 1 additions and 1 deletions

View File

@ -52,7 +52,7 @@ def main():
# Get the current text. # Get the current text.
encoding = vim.eval("&encoding") encoding = vim.eval("&encoding")
buf = vim.current.buffer buf = vim.current.buffer
text = '\n'.join(buf) text = unicode('\n'.join(buf), encoding)
# Determine range to format. # Determine range to format.
if vim.eval('exists("l:lines")') == '1': if vim.eval('exists("l:lines")') == '1':