Skip to content

Modules/_tkinter.c uses legacy macros TCL_WIN_SOCKET, TCL_UNIX_FD from Tcl 7.x #140001

@mdehoon

Description

@mdehoon

The macro TCL_WIN_SOCKET used in Modules/_tkinter.c is a Tcl 7.x legacy macro that is no longer defined in Tcl ≥ 8.0.
As Python now requires Tcl 8.5.12, the code path is now unreachable, and can safely be removed.

The macro FHANDLETYPE defined in Modules/_tkinter.c then always evaluates to TCL_UNIX_FD, and can also be removed.

See https://www.tcl-lang.org/man/tcl7.6/TclLib/GetFile.3.html for a description of these macros in Tcl 7.6.
The macros TCL_WIN_SOCKET and TCL_UNIX_FD were used in Tcl_GetFile, which was removed in Tcl 8.0.

See generic/tcl.h in the Tcl 7.6 source code for the definition of these two macros:

#define TCL_UNIX_FD	1
#define TCL_WIN_SOCKET	6

These macros are not defined in generic/tcl.h of Tcl 8.0, or mentioned anywhere else in the Tcl 8.0 source code.

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions