Skip to content

raw_input breaking with multiple futurize passes #427

Closed
@ghost

Description

Let's start with a python file (test.py) containing a single line:

test = raw_input("Test: ")

Pass 1: Running futurize.exe test.py --both-stages -w converts this to:

from builtins import input
test = input("Input: ")

Pass 2: Running futurize.exe test.py --both-stages -w again converts this to:

from builtins import input
test = eval(input("Input: "))

The second pass is incorrect. The presence of "from builtins import input" should indicate that the bare input has already been corrected.

Note that --both-stages can be replaced with --fix lib2to3.fixes.fix_input --fix lib2to3.fixes.fix_raw_input --fix libfuturize.fixes.fix_future_builtins.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions