From 1b4a9c7956d5dc64f8002f62bf0faae2d1892f90 Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Wed, 31 Mar 2021 01:19:38 -0400 Subject: bpo-42225: IDLE - document two unix-related problems. (#25078) 1. Bad IP masquerade rules can prevent startup. 2. X cannot handle some complex colored chars. --- Doc/library/idle.rst | 19 +++++++++++++-- Lib/idlelib/help.html | 27 ++++++++++++++++------ .../IDLE/2021-03-29-16-22-27.bpo-42225.iIeiLg.rst | 2 ++ 3 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 Misc/NEWS.d/next/IDLE/2021-03-29-16-22-27.bpo-42225.iIeiLg.rst diff --git a/Doc/library/idle.rst b/Doc/library/idle.rst index 2b9bd4b..6ef1565 100644 --- a/Doc/library/idle.rst +++ b/Doc/library/idle.rst @@ -670,8 +670,16 @@ IDLE uses a socket to communicate between the IDLE GUI process and the user code execution process. A connection must be established whenever the Shell starts or restarts. (The latter is indicated by a divider line that says 'RESTART'). If the user process fails to connect to the GUI process, it -displays a ``Tk`` error box with a 'cannot connect' message that directs the -user here. It then exits. +usually displays a ``Tk`` error box with a 'cannot connect' message +that directs the user here. It then exits. + +One specific connection failure on Unix systems results from +misconfigured masquerading rules somewhere in a system's network setup. +When IDLE is started from a terminal, one will see a message starting +with ``** Invalid host:``. +The valid value is ``127.0.0.1 (idlelib.rpc.LOCALHOST)``. +One can diagnose with ``tcpconnect -irv 127.0.0.1 6543`` in one +terminal window and ``tcplisten `` in another. A common cause of failure is a user-written file with the same name as a standard library module, such as *random.py* and *tkinter.py*. When such a @@ -709,6 +717,13 @@ If IDLE quits with no message, and it was not started from a console, try starting it from a console or terminal (``python -m idlelib``) and see if this results in an error message. +On Unix-based systems with tcl/tk older than ``8.6.11`` (see +``About IDLE``) certain characters of certain fonts can cause +a tk failure with a message to the terminal. This can happen either +if one starts IDLE to edit a file with such a character or later +when entering such a character. If one cannot upgrade tcl/tk, +then re-configure IDLE to use a font that works better. + Running user code ^^^^^^^^^^^^^^^^^ diff --git a/Lib/idlelib/help.html b/Lib/idlelib/help.html index 924042d..e80384b 100644 --- a/Lib/idlelib/help.html +++ b/Lib/idlelib/help.html @@ -5,7 +5,7 @@ - IDLE — Python 3.10.0a5 documentation + IDLE — Python 3.10.0a6 documentation @@ -18,7 +18,7 @@ @@ -71,7 +71,7 @@
  • - 3.10.0a5 Documentation » + 3.10.0a6 Documentation »
  • @@ -632,8 +632,15 @@ set in the Options dialog.

    code execution process. A connection must be established whenever the Shell starts or restarts. (The latter is indicated by a divider line that says ‘RESTART’). If the user process fails to connect to the GUI process, it -displays a Tk error box with a ‘cannot connect’ message that directs the -user here. It then exits.

    +usually displays a Tk error box with a ‘cannot connect’ message +that directs the user here. It then exits.

    +

    One specific connection failure on Unix systems results from +misconfigured masquerading rules somewhere in a system’s network setup. +When IDLE is started from a terminal, one will see a message starting +with ** Invalid host:. +The valid value is 127.0.0.1 (idlelib.rpc.LOCALHOST). +One can diagnose with tcpconnect -irv 127.0.0.1 6543 in one +terminal window and tcplisten <same args> in another.

    A common cause of failure is a user-written file with the same name as a standard library module, such as random.py and tkinter.py. When such a file is located in the same directory as a file that is about to be run, @@ -664,6 +671,12 @@ with the settings dialog.

    If IDLE quits with no message, and it was not started from a console, try starting it from a console or terminal (python -m idlelib) and see if this results in an error message.

    +

    On Unix-based systems with tcl/tk older than 8.6.11 (see +About IDLE) certain characters of certain fonts can cause +a tk failure with a message to the terminal. This can happen either +if one starts IDLE to edit a file with such a character or later +when entering such a character. If one cannot upgrade tcl/tk, +then re-configure IDLE to use a font that works better.

    Running user code

    @@ -958,7 +971,7 @@ also used for testing.

  • - 3.10.0a5 Documentation » + 3.10.0a6 Documentation »
  • @@ -990,7 +1003,7 @@ also used for testing.



    - Last updated on Feb 23, 2021. + Last updated on Mar 29, 2021. Found a bug?
    diff --git a/Misc/NEWS.d/next/IDLE/2021-03-29-16-22-27.bpo-42225.iIeiLg.rst b/Misc/NEWS.d/next/IDLE/2021-03-29-16-22-27.bpo-42225.iIeiLg.rst new file mode 100644 index 0000000..59fb08b --- /dev/null +++ b/Misc/NEWS.d/next/IDLE/2021-03-29-16-22-27.bpo-42225.iIeiLg.rst @@ -0,0 +1,2 @@ +Document that IDLE can fail on Unix either from misconfigured IP masquerage +rules or failure displaying complex colored (non-ascii) characters. -- cgit v0.12