-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
redefining stdout in imported module breaks cmdprompt on windows #17
Copy link
Copy link
Closed
Description
Original Launchpad bug 383554: https://bugs.launchpad.net/ipython/+bug/383554
Reported by: techtonik (anatoly techtonik).
When import the module that redefines stdout, the colorful IPython prompt breaks (pyreadline is at 1.5), although other colors work in error messages.
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)]
Type "copyright", "credits" or "license" for more information.
IPython 0.9.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.
In [1]: from yyy import xxx
☺←[0;32m☻In [☺←[1;32m☻2☺←[0;32m☻]: ☺←[0m☻
☺←[0;32m☻In [☺←[1;32m☻3☺←[0;32m☻]: ☺←[0m☻some strange command
------------------------------------------------------------
File "<ipython console>", line 1
some strange command
^
SyntaxError: invalid syntax
☺←[0;32m☻In [☺←[1;32m☻4☺←[0;32m☻]: ☺←[0m☻
-- cut xxx.py ---
import sys
class restdout:
def __init__(self, fp):
self.fp = fp
def write(self, s):
self.fp.write(s)
sys.stdout = restdout(sys.stdout)Reactions are currently unavailable