mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 02:15:10 +00:00 
			
		
		
		
	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
					
				
					 3 changed files with 27 additions and 10 deletions
				
			
		|  | @ -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 @@ 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> | 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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Terry Jan Reedy
						Terry Jan Reedy