[IPython-user] [IPython-dev] bug in coloured prompt

Thorsten Kampe thorsten@thorstenkampe...
Tue Apr 3 02:47:08 CDT 2007


* Fernando Perez (Mon, 2 Apr 2007 16:03:10 -0600)
> On 4/2/07, Thorsten Kampe <thorsten@thorstenkampe.de> wrote:
> > * Thorsten Kampe (Mon, 2 Apr 2007 08:59:15 +0100)
> > > By the way (introducing a new bug(?): if I run Cygwin IPython (meaning
> > > "Linux" Python and GNU readline) the output prompt shows the colour
> > > escape sequences as coloured faces. This only happens with the
> > > standard Windows console and the well-known "Console"[1].
> > >
> > > The paradox thing is that prompt_in1 and prompt_in2 display fine -
> > > it's just prompt_out that has this mistake. Is there some special code
> > > in IPython that constructs the in prompts differently than the out
> > > prompt?!
> 
> Yes, the input prompts use InputTermColors; see ColorAnsi.py:
> 
> http://projects.scipy.org/ipython/ipython/browser/ipython/trunk/IPython/ColorANSI.py
> 
> Perhaps those terminals, under windows, misinterpret escapes that
> don't have the extra \001/\002 bracketing them.
> 
> Note that getting coloring to work at all under windows has been a
> long and painful road (given the sorry status of terminal programs in
> that platform), so I'm not terribly surprised to see there are still
> problems.
> 
> We're too close to a release to change this in the trunk, but at least
> knowing this, you can make a local change to test if adding those
> escapes improves things for you.

Where would I have to make the change? In class TermColors?

> If it does, with more time for testing it could be applied
> everywhere as a win32-specific change, but not now.

Actually Win32 "(I)Python/pyreadline" works fine. It's Cygwin "(I)
Python/readline" in conjunction with a Windows (non Cygwin rxvt) 
terminal that has the problem.

Thorsten



More information about the IPython-user mailing list