This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author AWhetter
Recipients AWhetter
Date 2020-06-25.04:46:55
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1593060415.61.0.690471186098.issue41110@roundup.psfhosted.org>
In-reply-to
Content
Many of the fixers cause the tool to report a file as both unchanged and modified.

For example when checking a file with the following contents:

```
s = "str"
```

using the following command: `python -m lib2to3 -f unicode unicode_test.py`
The following is output:

```
RefactoringTool: No changes to unicode_test.py
RefactoringTool: Files that need to be modified:
RefactoringTool: unicode_test.py
```

When a fixer returns a node, even if it is the original node without changes, it is considered as a change to the code (https://github.com/python/cpython/blob/cf18c9e9d4d44f6671a3fe6011bb53d8ee9bd92b/Lib/lib2to3/refactor.py#L446-L447) and the file is later added to the list of modified files. I have not yet identified which fixers have this issue.

The fix appears to be that fixers need to be aware of when they have not made a change and should `None` when that is the case.
History
Date User Action Args
2020-06-25 04:46:55AWhettersetrecipients: + AWhetter
2020-06-25 04:46:55AWhettersetmessageid: <1593060415.61.0.690471186098.issue41110@roundup.psfhosted.org>
2020-06-25 04:46:55AWhetterlinkissue41110 messages
2020-06-25 04:46:55AWhettercreate