Hi,<br><br>I&#39;m using IPython under WinXP / Emacs / ipython.el for some time now. <br>I&#39;ve been getting a delayed traceback display error where if I type the following:<br><br>In [1]: asdf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # garbage, should throw NameError<br>
<br><br>In [2]: 1/0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Should throw ZeroDivisionError<br>---------------------------------------------------------------------------<br>NameError&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Traceback (most recent call last)<br><br>
c:\Python25\Lib\site-packages\IPython\&lt;ipython console&gt; in &lt;module&gt;()<br><br>NameError: name &#39;a&#39; is not defined<br><br><br><br>In [3]: in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # should be syntax error<br>---------------------------------------------------------------------------<br>
ZeroDivisionError&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Traceback (most recent call last)<br><br>c:\Python25\Lib\site-packages\IPython\&lt;ipython console&gt; in &lt;module&gt;()<br><br>ZeroDivisionError: integer division or modulo by zero<br>
<br>i.e., error output is delayed by one.<br><br><br>The most obvious explanation was that some pipe was not getting flushed,<br>and the traceback output was getting stuck.<br><br><br>I fixed this by going into ultraTB.py, which contains the traceback error <br>
handling code. There are four &quot;print &gt;&gt;&quot; statements which are preceded<br>by &quot;flush()&quot; statements; putting the flush() statements after the prints fixed <br>this problem. As far as I can tell there is no reason to have the flush statements<br>
before the prints.<br><br>The print statements are around lines 352, 831, 954<br><br><br>Jie<br>