From 76cd0c30d60961d1a10e2673834a455d2b51f695 Mon Sep 17 00:00:00 2001
From: Terry Jan Reedy
Date: Tue, 6 Nov 2018 23:55:06 -0500
Subject: bpo-33000: Document that IDLE's shell has no line limit. (#10373)
A program that runs indefinitely can overfill memory.
---
Doc/library/idle.rst | 18 +++++++++++++-----
Lib/idlelib/help.html | 17 ++++++++++++-----
.../next/IDLE/2018-11-06-23-10-54.bpo-33000.pQasCt.rst | 2 ++
3 files changed, 27 insertions(+), 10 deletions(-)
create mode 100644 Misc/NEWS.d/next/IDLE/2018-11-06-23-10-54.bpo-33000.pQasCt.rst
diff --git a/Doc/library/idle.rst b/Doc/library/idle.rst
index fa58e2d..f353fbc 100644
--- a/Doc/library/idle.rst
+++ b/Doc/library/idle.rst
@@ -671,15 +671,23 @@ When a program outputs text, the result is determined by the
corresponding output device. When IDLE executes user code, ``sys.stdout``
and ``sys.stderr`` are connected to the display area of IDLE's Shell. Some of
its features are inherited from the underlying Tk Text widget. Others
-are programmed additions.
+are programmed additions. Where it matters, Shell is designed for development
+rather than production runs.
+
+For instance, Shell never throws away output. A program that sends unlimited
+output to Shell will eventually fill memory, resulting in a memory error.
+In contrast, some system text windows only keep the last n lines of output.
+A Windows console, for instance, keeps a user-settable 1 to 9999 lines,
+with 300 the default.
Text widgets display a subset of Unicode, the Basic Multilingual Plane (BMP).
Which characters get a proper glyph instead of a replacement box depends on
the operating system and installed fonts. Newline characters cause following
-text to appear on a new line, but other control characters are replaced
-with a box. But note that the ``repr()`` function, which is used for
-interactive echo of expression values, replaces control characters
-with escape codes before they are output.
+text to appear on a new line, but other control characters are either
+replaced with a box or deleted. However, ``repr()``, which is used for
+interactive echo of expression values, replaces control characters,
+some BMP codepoints, and all non-BMP characters with escape codes
+before they are output.
Normal and error output are generally kept separate (on separate lines)
from code input and each other. They each get different highlight colors.
diff --git a/Lib/idlelib/help.html b/Lib/idlelib/help.html
index 83bd4a1..f0b4215 100644
--- a/Lib/idlelib/help.html
+++ b/Lib/idlelib/help.html
@@ -648,14 +648,21 @@ will not work correctly.
corresponding output device. When IDLE executes user code, sys.stdout
and sys.stderr
are connected to the display area of IDLE’s Shell. Some of
its features are inherited from the underlying Tk Text widget. Others
-are programmed additions.
+are programmed additions. Where it matters, Shell is designed for development
+rather than production runs.
+For instance, Shell never throws away output. A program that sends unlimited
+output to Shell will eventually fill memory, resulting in a memory error.
+In contrast, some system text windows only keep the last n lines of output.
+A Windows console, for instance, keeps a user-settable 1 to 9999 lines,
+with 300 the default.
Text widgets display a subset of Unicode, the Basic Multilingual Plane (BMP).
Which characters get a proper glyph instead of a replacement box depends on
the operating system and installed fonts. Newline characters cause following
-text to appear on a new line, but other control characters are replaced
-with a box. But note that the repr()
function, which is used for
-interactive echo of expression values, replaces control characters
-with escape codes before they are output.
+text to appear on a new line, but other control characters are either
+replaced with a box or deleted. However, repr()
, which is used for
+interactive echo of expression values, replaces control characters,
+some BMP codepoints, and all non-BMP characters with escape codes
+before they are output.
Normal and error output are generally kept separate (on separate lines)
from code input and each other. They each get different highlight colors.
For SyntaxError tracebacks, the normal ‘^’ marking where the error was
diff --git a/Misc/NEWS.d/next/IDLE/2018-11-06-23-10-54.bpo-33000.pQasCt.rst b/Misc/NEWS.d/next/IDLE/2018-11-06-23-10-54.bpo-33000.pQasCt.rst
new file mode 100644
index 0000000..c6ba9e4
--- /dev/null
+++ b/Misc/NEWS.d/next/IDLE/2018-11-06-23-10-54.bpo-33000.pQasCt.rst
@@ -0,0 +1,2 @@
+Document that IDLE's shell has no line limit. A program that runs
+indefinitely can overfill memory.
--
cgit v0.12