New submission from Cherniavsky Beni <c...@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 <rep...@bugs.python.org>
<http://bugs.python.org/issue9618>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to