Author: alexfh Date: Mon Oct 24 11:31:26 2016 New Revision: 284988 URL: http://llvm.org/viewvc/llvm-project?rev=284988&view=rev Log: 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) Modified: cfe/trunk/tools/clang-format/clang-format.py Modified: cfe/trunk/tools/clang-format/clang-format.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format/clang-format.py?rev=284988&r1=284987&r2=284988&view=diff ============================================================================== --- cfe/trunk/tools/clang-format/clang-format.py (original) +++ cfe/trunk/tools/clang-format/clang-format.py Mon Oct 24 11:31:26 2016 @@ -52,7 +52,7 @@ def main(): # 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': _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits