Commit 76cd0c30 authored by Terry Jan Reedy's avatar Terry Jan Reedy Committed by GitHub

bpo-33000: Document that IDLE's shell has no line limit. (#10373)

A program that runs indefinitely can overfill memory.
parent 9fc57a38
......@@ -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.
......
......@@ -648,14 +648,21 @@ will not work correctly.</p>
corresponding output device. When IDLE executes user code, <code class="docutils literal notranslate"><span class="pre">sys.stdout</span></code>
and <code class="docutils literal notranslate"><span class="pre">sys.stderr</span></code> 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.</p>
are programmed additions. Where it matters, Shell is designed for development
rather than production runs.</p>
<p>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.</p>
<p>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 <code class="docutils literal notranslate"><span class="pre">repr()</span></code> function, which is used for
interactive echo of expression values, replaces control characters
with escape codes before they are output.</p>
text to appear on a new line, but other control characters are either
replaced with a box or deleted. However, <code class="docutils literal notranslate"><span class="pre">repr()</span></code>, 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.</p>
<p>Normal and error output are generally kept separate (on separate lines)
from code input and each other. They each get different highlight colors.</p>
<p>For SyntaxError tracebacks, the normal ‘^’ marking where the error was
......
Document that IDLE's shell has no line limit. A program that runs
indefinitely can overfill memory.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment