r289308 - [clang-format] Another attempt at python 3 compatibility

Nico Weber via cfe-commits cfe-commits at lists.llvm.org
Sat Dec 10 06:16:09 PST 2016


Shouldn't this at least use >=? (But it feels like there is probably a way
that doesn't have to do UA sniffing, so to speak)

On Dec 9, 2016 8:04 PM, "Vedant Kumar via cfe-commits" <
cfe-commits at lists.llvm.org> wrote:

> Author: vedantk
> Date: Fri Dec  9 18:54:13 2016
> New Revision: 289308
>
> URL: http://llvm.org/viewvc/llvm-project?rev=289308&view=rev
> Log:
> [clang-format] Another attempt at python 3 compatibility
>
> The entries in vim.current.buffer appear to be decoded strings, which
> means that python3 won't allow invoking 'decode' on them. Keep the old
> behavior when running under python2, but skip the error-inducing decode
> step with python3..
>
> 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=289308&r1=289307&r2=289308&view=diff
> ============================================================
> ==================
> --- cfe/trunk/tools/clang-format/clang-format.py (original)
> +++ cfe/trunk/tools/clang-format/clang-format.py Fri Dec  9 18:54:13 2016
> @@ -29,6 +29,7 @@ from __future__ import print_function
>
>  import difflib
>  import json
> +import platform
>  import subprocess
>  import sys
>  import vim
> @@ -48,10 +49,15 @@ fallback_style = None
>  if vim.eval('exists("g:clang_format_fallback_style")') == "1":
>    fallback_style = vim.eval('g:clang_format_fallback_style')
>
> +def get_buffer(encoding):
> +  if platform.python_version_tuple()[0] == '3':
> +    return vim.current.buffer
> +  return [ line.decode(encoding) for line in vim.current.buffer ]
> +
>  def main():
>    # Get the current text.
>    encoding = vim.eval("&encoding")
> -  buf = [ line.decode(encoding) for line in vim.current.buffer ]
> +  buf = get_buffer(encoding)
>    text = '\n'.join(buf)
>
>    # Determine range to format.
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161210/3d307d8a/attachment.html>


More information about the cfe-commits mailing list