<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On 25 February 2013 09:45, Aaron Meurer <span dir="ltr">&lt;<a href="mailto:asmeurer@gmail.com" target="_blank">asmeurer@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id=":15l">In [12]: print 1<br>
  File &quot;&lt;ipython-input-12-08890221e919&gt;&quot;, line 1<br>
    print 1<br>
          ^<br>
SyntaxError: invalid syntax<br></div></blockquote><div><br></div><div>This does seem like a bug. It&#39;s not getting translated into the call with the magic (use hist -t to see translations). I guess something must be treating it as Python 2 syntax. File a bug so we don&#39;t forget it.<br>

<br></div><div>If it helps, you can force automatic brackets using a slash:<br></div><div><br>In [1]: /print 123 456<br>123 456<br><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div id=":15l">Error in generated code:<br>
def print(line):<br>
    return _call_(_func_, line)<br>
<br>
  File &quot;&lt;string&gt;&quot;, line 1<br>
    def print(line):<br>
            ^<br>
SyntaxError: invalid syntax<br>
</div></blockquote></div><br></div><div class="gmail_extra">(Just tested, this error is only when running in Python 2, yes?)<br><br></div><div class="gmail_extra">This is because of the decorator library we&#39;re using. In order to preserve the function signature, it actually assembles a new function as a string, and calls compile() on it. Of course, in that context, __future__.print_function is not in effect, so you can&#39;t redefine print.<br>

<br></div><div class="gmail_extra">Short of dropping the decorator library, I don&#39;t think there&#39;s much we can do about that. Adding a condition to check the Python version first should work.<br><br></div><div class="gmail_extra">

Finally, don&#39;t forget that you&#39;ll need to evaluate the input, otherwise...<br><br>In [1]: a = 42<br><br>In [2]: %print a<br>a<br><br></div><div class="gmail_extra">Best wishes,<br></div><div class="gmail_extra">Thomas<br>

</div><div class="gmail_extra"><br></div></div>