python / cpython

The Python programming language
https://www.python.org
Other
63.19k stars 30.26k forks source link

Invalid Python 3 code in TCL routine WmDefault.py #111090

Closed japagetw closed 1 year ago

japagetw commented 1 year ago

Bug report

Bug description:

This was noticed on 64-bit Windows 10 Professional 22H2. I have Versions 3.7 through 3.12 of Python installed on C:\Python37 through C:\Python312. I have a batch file pypath.bat that activates the selected version of Python, e.g. I might type "Pypath311" to use Python 3.11.

When I typed the following at a Windows Terminal running cmd.exe:

pypath 39
python -m compileall c:\Python39\tcl -q

I got the error message

*** Error compiling 'c:\\python39\\tcl\\tix8.4.3\\pref\\WmDefault.py'...
Sorry: TabError: inconsistent use of tabs and spaces in indentation (WmDefault.py, line 86)

After fixing the error and repeating the python -m compileall command I got the error message

*** Error compiling 'c:\\Python39\\tcl\\tix8.4.3\\pref\\WmDefault.py'...
  File "c:\Python39\tcl\tix8.4.3\pref\WmDefault.py", line 95
    print retval
          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(retval)?

After fixing this error there were no further errors. This bug occurs on all six Python versions (3.7 through 3.12).

Source code for my batch file Pypath.bat:

@set MYPC=C:\AEB335
@set MYBIN=C:\UTIL
@set PYTHON=c:\python%1
@set PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\;%SystemRoot%\System32\OpenSSH\;%LOCALAPPDATA%\Microsoft\WindowsApps;%ProgramFiles%\Git\bin;%ProgramFiles%\Git\usr\bin;%ProgramFiles%\TortoiseSVN\bin;%MYPC%;%MYBIN%;%PYTHON%;%PYTHON%\Scripts
@rem set PATH=%SystemRoot%\system32;%SystemRoot%;%MYPC%;%MYBIN%;%PYTHON%;%PYTHON%\Scripts;%ProgramFiles%\TortoiseSVN\bin;%ProgramFiles%\TortoiseHg\
@if .%VIMRUNTIME% == . set VIMRUNTIME=C:/vim/vim90

CPython versions tested on:

3.8, 3.9, 3.10, 3.11, 3.12

Operating systems tested on:

Windows

zooba commented 1 year ago

This is just a bundled copy of Tix, we aren't responsible for maintaining it.

As of 3.13, we aren't even distributing Tix anymore. So from our POV, this is already "fixed".