Interesting...<div><br></div><div>This error persists in many configurations. I&#39;ve pasted Robin&#39;s example text with the following results:</div><div><br></div><div>Mac OS 10.5.6</div><div>----------------------</div>

<div>System Python 2.5.1: 70% MemoryError, 30% syntax error (no success)<br></div><div>ipython 0.9.1 based on System Python 2.5.1: 90% MemoryError (+crash), 10% syntax error (no success)</div><div><br></div><div>Mac OS 10.4.11</div>

<div>------------------------</div><div>System Python 2.3.5: 100% success</div><div>Universal Python 2.4.4 from <a href="http://www.pythonmac.org/packages/py24-fat" target="_blank">http://www.pythonmac.org/packages/py24-fat</a>: 70% success, 30% syntax error</div>

<div>Universal Python 2.5 from <a href="http://www.pythonmac.org/packages/py25-fat" target="_blank">http://www.pythonmac.org/packages/py25-fat</a>: 80% success, 20% syntax error</div><div>ipython 0.8.2 based on Universal Python 2.5: 70% success, 30% syntax error</div>

<div><br></div><div>I also used a more structured sequence of characters, to probe the boundaries on which this problem occurs. I created a 2048-character string without newlines, which worked fine. When I split the string into 32 lines of 64-character strings by inserting newlines, the problems started.</div>

<div><br></div><div>I tried all three line endings (LF, CR+LF and CR) by saving the text in vi with the desired format, using pbcopy to load the file into the clipboard and verifying the line endings by &quot;pbpaste | hexdump&quot;.</div>
<div>They all caused the same error.</div><div><br></div><div>Analysis</div><div>------------</div><div><br></div><div>- The error only occurs on Mac OS X (both Tiger and Leopard), and with Python version at least 2.4.<br>
</div><div>- On Tiger it sometimes works, while on Leopard it always breaks.</div><div>- The error only occurs when pasting multi-line text of sufficient length.</div><div>- The error manifests as repeating sections of text (of variable length). These sections are repeats of the text starting from just after the last newline.</div>
<div>- Sometimes the point at which corrupted text is inserted in the pasted text is 1024 characters from the start of the pasted text (which might indicate an internal buffer boundary).<br></div><div>- The error affects Python rather than ipython. It results in either a SyntaxError or a MemoryError (parser stack overflow). The latter triggers a crash in ipython.<br>
</div><div>- The error seems to be independent of line ending.<br></div><div>- The error appears non-deterministic or with unobvious dependencies. When Python is started from scratch, the text can sometimes be successfully pasted more than 20 times without triggering an error. Other times the error appears immediately.</div>
<div>- The error is independent of the source of the pasted text.</div><div>- The error is independent of the terminal application.</div><div><br></div><div>I suspect that some buffer in the Python line parser is not cleared properly. </div>
<div><br></div><div>Ludwig</div><div><br></div>