mirror of https://github.com/python/cpython.git
bpo-33000: Document that IDLE's shell has no line limit. (#10373)
A program that runs indefinitely can overfill memory.
This commit is contained in:
parent
9fc57a3848
commit
76cd0c30d6
|
@ -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``
|
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
|
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
|
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).
|
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
|
Which characters get a proper glyph instead of a replacement box depends on
|
||||||
the operating system and installed fonts. Newline characters cause following
|
the operating system and installed fonts. Newline characters cause following
|
||||||
text to appear on a new line, but other control characters are replaced
|
text to appear on a new line, but other control characters are either
|
||||||
with a box. But note that the ``repr()`` function, which is used for
|
replaced with a box or deleted. However, ``repr()``, which is used for
|
||||||
interactive echo of expression values, replaces control characters
|
interactive echo of expression values, replaces control characters,
|
||||||
with escape codes before they are output.
|
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)
|
Normal and error output are generally kept separate (on separate lines)
|
||||||
from code input and each other. They each get different highlight colors.
|
from code input and each other. They each get different highlight colors.
|
||||||
|
|
|
@ -648,14 +648,21 @@ <h3>User output in Shell<a class="headerlink" href="#user-output-in-shell" title
|
||||||
corresponding output device. When IDLE executes user code, <code class="docutils literal notranslate"><span class="pre">sys.stdout</span></code>
|
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
|
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
|
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).
|
<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
|
Which characters get a proper glyph instead of a replacement box depends on
|
||||||
the operating system and installed fonts. Newline characters cause following
|
the operating system and installed fonts. Newline characters cause following
|
||||||
text to appear on a new line, but other control characters are replaced
|
text to appear on a new line, but other control characters are either
|
||||||
with a box. But note that the <code class="docutils literal notranslate"><span class="pre">repr()</span></code> function, which is used for
|
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
|
interactive echo of expression values, replaces control characters,
|
||||||
with escape codes before they are output.</p>
|
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)
|
<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>
|
from code input and each other. They each get different highlight colors.</p>
|
||||||
<p>For SyntaxError tracebacks, the normal ‘^’ marking where the error was
|
<p>For SyntaxError tracebacks, the normal ‘^’ marking where the error was
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Document that IDLE's shell has no line limit. A program that runs
|
||||||
|
indefinitely can overfill memory.
|
Loading…
Reference in New Issue