Python 3 is more rigid about mixing tabs and spaces within a single file. 2to3 should either fix indentation that would become a syntax error in Python 3.X, or maybe issue a warning about it (or both). Example: $ python badtabs.py && echo okay okay $ 2to3 badtabs.py RefactoringTool: Skipping implicit fixer: buffer RefactoringTool: Skipping implicit fixer: idioms RefactoringTool: Skipping implicit fixer: set_literal RefactoringTool: Skipping implicit fixer: ws_comma RefactoringTool: No files need to be modified. $ python3 badtabs.py && echo okay File "badtabs.py", line 3 'b' ^ TabError: inconsistent use of tabs and spaces in indentation
I'd be inclined to close this as "won't fix" as a workaround is given, especially considering that mixing tabs and spaces has always been considered a no no.
Agreed. -tt is designed for this job; there's no need for 2to3 to duplicate the functionality given that reindent.py exists and can be (and "should" be) applied to the python2 source even if you aren't doing single-source.