[issue9618] IDLE shell ignores all but first statement

Cherniavsky Beni report at bugs.python.org
Mon Aug 16 00:52:10 CEST 2010


New submission from Cherniavsky Beni <cben at users.sf.net>:

[Spinoff of http://bugs.python.org/issue3559]

If you manage to type several simple statements into the prompt (by copy-pasting them, using Ctrl+J, or creative deletion), IDLE runs the first one and silently ignores the rest:

>>> x = 1
x = 2
>>> x
1

Moreover, it doesn't even parse the additional lines:

>>> x = 3
$@syntax error?!
>>> x
3

If the first statement is a compound statement, IDLE refuses with a SyntaxError at the begging of the second statement:


>>> def f():
	return 42
f()
SyntaxError: invalid syntax


I believe in both cases the right least-surprise behavior is to run all statements.

If not, a clear error explaining that IDLE doesn't support multiple statements must be printed.  But I can't see a reason to choose this over making it Just Work.


[Implementation: might or might not be related to http://bugs.python.org/issue7741]

----------
components: IDLE
messages: 114019
nosy: cben
priority: normal
severity: normal
status: open
title: IDLE shell ignores all but first statement
versions: Python 2.7, Python 3.2

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue9618>
_______________________________________


More information about the Python-bugs-list mailing list