When I use build_py_2to3 and there is an error while converting a file with 2to3, convert is skipped on the next run. The reason is that build_module in build_py_2to3 (in module distutils.command.build_py) only appends the file for converting when it is newly copied. Something safer should be used. The simplest possibility is to always convert.
> When I use build_py_2to3 and there is an error while converting a > file with 2to3, convert is skipped on the next run. I think build should stop with an error message if 2to3 fails. Do you agree?
It does stop with an error message. But when I reinvoke the command, converting is skipped (because the file is already copied). No error message is raised and the build continues with the remaining jobs (build_*). It should reexecute at least the failing conversion and those after them. (And when the error still is there, it should reraise it.)
> It does stop with an error message. But when I reinvoke the command, converting is > skipped (because the file is already copied). Then that’s the bug: In case of error, the file in the build dir should be removed. By the way, I think this was not reported before because people probably edit the file when there is a 2to3 error, and so it is detected as modified and then copied again.
type: behavior -> (no value)title: build_py_2to3 does not execute when there was an error before -> build_py_2to3 does not convert when there was an error in the last run