standalone vs embedded interpreter

Antoine Pitrou solipsis at pitrou.net
Tue Apr 9 12:13:15 EDT 2013


Nick Gnedin <ngnedin <at> gmail.com> writes:
> I expect it to behave the same way as if I was running it as a 
> standalone program. On Windows this is indeed the case, but on my Linux 
> box (Python 3.3.1 (default, Apr  8 2013, 22:33:31) [GCC 4.1.2 20080704 
> (Red Hat 4.1.2-51)]) I get a different behavior in handling console 
> input. A standalone interpreter cycles though the input history when I 
> use up and down arrows - say, I type this code:
> 
>  >>> 1
> 1
>  >>> a=4
>  >>> a
> 4
> 
> If I now press an <up> key in a standalone interpreter, I get 'a' placed 
> at the prompt (my previous command). However, in an embedded code I get
> 
>  >>> ^[[A
> 
> put at the prompt - does anyone know what I am doing wrong?

Are stdin and stdout both interactive? That is, are isatty(fileno(stdin))
and isatty(fileno(stdout)) both true?

If you want to debug, take a look at PyOS_Readline() in Parser/myreadline.c.
It probably holds the answer to your question.

Regards

Antoine.





More information about the Python-list mailing list