From f1d3efc2fba704692d539acc3cb0376a1dd9d98f Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Mon, 5 Nov 2018 22:17:57 -0500 Subject: bpo-35099: Update idlelib/help.html (#10353) (This should have been done with the first PR for this issue.) --- Lib/idlelib/help.html | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/Lib/idlelib/help.html b/Lib/idlelib/help.html index 24fd77d..1cd9b69 100644 --- a/Lib/idlelib/help.html +++ b/Lib/idlelib/help.html @@ -616,23 +616,33 @@ be to delete one or more of the configuration files.

If IDLE quits with no message, and it was not started from a console, try starting from a console (python -m idlelib) and see if a message appears.

-
-

IDLE-console differences

+
+

Running user code

With rare exceptions, the result of executing Python code with IDLE is -intended to be the same as executing the same code in a console window. +intended to be the same as executing the same code by the default method, +directly with Python in a text-mode system console or terminal window. However, the different interface and operation occasionally affect -visible results. For instance, sys.modules starts with more entries.

-

IDLE also replaces sys.stdin, sys.stdout, and sys.stderr with -objects that get input from and send output to the Shell window. -When Shell has the focus, it controls the keyboard and screen. This is +visible results. For instance, sys.modules starts with more entries, +and threading.activeCount() returns 2 instead of 1.

+

By default, IDLE runs user code in a separate OS process rather than in +the user interface process that runs the shell and editor. In the execution +process, it replaces sys.stdin, sys.stdout, and sys.stderr +with objects that get input from and send output to the Shell window. +The original values stored in sys.__stdin__, sys.__stdout__, and +sys.__stderr__ are not touched, but may be None.

+

When Shell has the focus, it controls the keyboard and screen. This is normally transparent, but functions that directly access the keyboard -and screen will not work. If sys is reset with importlib.reload(sys), -IDLE’s changes are lost and things like input, raw_input, and -print will not work correctly.

-

With IDLE’s Shell, one enters, edits, and recalls complete statements. -Some consoles only work with a single physical line at a time. IDLE uses -exec to run each statement. As a result, '__builtins__' is always -defined for each statement.

+and screen will not work. These include system-specific functions that +determine whether a key has been pressed and if so, which.

+

IDLE’s standard stream replacements are not inherited by subprocesses +created in the execution process, whether directly by user code or by modules +such as multiprocessing. If such subprocess use input from sys.stdin +or print or write to sys.stdout or sys.stderr, +IDLE should be started in a command line window. The secondary subprocess +will then be attached to that window for input and output.

+

If sys is reset by user code, such as with importlib.reload(sys), +IDLE’s changes are lost and input from the keyboard and output to the screen +will not work correctly.

Developing tkinter applications

@@ -752,7 +762,7 @@ also used for testing.

  • Startup and code execution @@ -841,7 +851,7 @@ also used for testing.



    - Last updated on Oct 28, 2018. + Last updated on Nov 05, 2018. Found a bug?
    -- cgit v0.12