[issue12869] PyOS_StdioReadline is printing the prompt on stderr

2016-01-18 Thread Martin Panter

Martin Panter added the comment:

Adam: My experiments were assuming that PyOS_Readline() only ever uses the 
basic implementation or the Readline library, in order to see if there was any 
consistency with how Python worked in common situations.

There is actually a test that waits for the interpreter prompt on stderr; see 
test_cmd_line_script.CmdLineTest.interactive_python(). I realized that changing 
this would have to be considered carefully, because it could easily break other 
code as well. It certainly should not be done in a bug fix release.

Anyway I am proposing a patch in Issue 1927 to fix PyOS_StdioReadline(), so 
closing this as a duplicate.

--
components: +Interpreter Core -Extension Modules
resolution:  -> duplicate
status: open -> closed
superseder:  -> raw_input behavior incorrect if readline not enabled

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12869] PyOS_StdioReadline is printing the prompt on stderr

2015-11-22 Thread Adam Bartoš

Adam Bartoš added the comment:

> * The interactive interpreter always reads from the original standard input, 
> whether Readline is used or not.

This is not true – the interactive interpreter reads via PyOS_Readline, which 
may call whatever readline hook is installed.

I think the situation would be much more clear if something like my proposal 
was implemented 
(https://mail.python.org/pipermail/python-dev/2015-November/142246.html).

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12869] PyOS_StdioReadline is printing the prompt on stderr

2015-11-21 Thread Martin Panter

Martin Panter added the comment:

Actually Issue 1927 has a simple patch which should change this to stdout. I 
haven’t tested, the code looks like that patch will not use a redirected 
sys.stdout, so it would match not using a redirected sys.stdin.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12869] PyOS_StdioReadline is printing the prompt on stderr

2015-08-03 Thread Martin Panter

Martin Panter added the comment:

Results of experimenting on 3.6:

* The startup messages are written to standard error.
* The interactive interpreter prompts to the original standard error if 
Readline not used. But with Gnu Readline, prompts do go to the original 
standard output, as does other interactive Readline output (echoed input etc). 
This is what Albert reported.
* The interactive interpreter always reads from the original standard input, 
whether Readline is used or not.
* The displayhook() function always writes to the current sys.stdout, as 
documented.
* The excepthook() function always writes to the current sys.stderr, also as 
documented.
* The input() function is documented to prompt to sys.stdout, however see Issue 
1927 for some quirks with that.
* The input() function always reads from the current sys.stdin. The Readline 
library is only used if sys.stdin and sys.stdout are the original file 
descriptors.

I agree it would probably be more consistent for the interpreter prompt to go 
to standard output. It looks like stdout is inspected to determine whether 
Readline will be used, while stderr is not inspected. So it makes sense for the 
prompt to go to stdout.

However I disagree that it should go to a redirected stream, sys.stderr or 
sys.stdout, since sys.stdin does not affect input. But see Issue 17620, about 
redirecting sys.stdin.

--
nosy: +vadmium
versions: +Python 3.5, Python 3.6

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue12869
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12869] PyOS_StdioReadline is printing the prompt on stderr

2013-08-25 Thread Drekin

Drekin added the comment:

Related stackoverflow question: 
http://stackoverflow.com/questions/18419787/where-does-pythons-interactive-prompt-output-to
 .

--
nosy: +Drekin

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue12869
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12869] PyOS_StdioReadline is printing the prompt on stderr

2013-02-19 Thread Ezio Melotti

Changes by Ezio Melotti ezio.melo...@gmail.com:


--
components: +Extension Modules
type:  - behavior
versions: +Python 3.3, Python 3.4

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue12869
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12869] PyOS_StdioReadline is printing the prompt on stderr

2011-08-31 Thread Albert Zeyer

New submission from Albert Zeyer alb...@googlemail.com:

PyOS_StdioReadline from Parser/myreadline.c is printing the prompt on stderr.

I think it should print it on the given parameter sys_stdout. Other readline 
implementations (like from the readline module) also behave this way.

Even if it really is supposed to write on stderr, it should use the 
`sys.stderr` and not the system stderr.

--
messages: 143256
nosy: Albert.Zeyer
priority: normal
severity: normal
status: open
title: PyOS_StdioReadline is printing the prompt on stderr
versions: Python 2.7

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue12869
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com