<br><br><div class="gmail_quote">On Fri, Jun 1, 2012 at 9:07 PM, Brian Granger <span dir="ltr">&lt;<a href="mailto:ellisonbg@gmail.com" target="_blank">ellisonbg@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On Fri, Jun 1, 2012 at 8:58 PM, MinRK &lt;<a href="mailto:benjaminrk@gmail.com">benjaminrk@gmail.com</a>&gt; wrote:<br>
&gt; I was playing with my shebang magic, and I decided to test something evil:<br>
&gt;<br>
&gt;     @cell_magic(&#39;#!&#39;)<br>
&gt;     def shebang(self, line, cell):<br>
&gt;         &quot;&quot;&quot;Run a cell via a shell command<br>
<br>
</div>Oh, what fun, I love it!  Actually, this is not that crazy considering<br>
that we already have the `!foo` syntax.  I guess the important<br>
question is this: are the any constraints on the names of cell magics<br>
at all?  Will this mess up things somehow?<br>
<div class="im"><br>
&gt;         The `%%shebang` line is like the #! line, specifying a program<br>
&gt; (bash, perl, ruby, etc.)<br>
&gt;         &quot;&quot;&quot;<br>
&gt;         p = Popen(line, stdout=PIPE, stderr=PIPE, stdin=PIPE)<br>
&gt;         out,err = p.communicate(cell)<br>
&gt;         print(out, end=&#39;&#39;)<br>
&gt;         print(err, file=sys.stderr, end=&#39;&#39;)<br>
&gt;<br>
&gt;<br>
&gt; Which actually lets me do:<br>
&gt;<br>
&gt; %%#! bash<br>
&gt; for i in 1 2 3; do<br>
&gt;   echo $i<br>
&gt; done<br>
&gt;<br>
&gt; I presume we don&#39;t want that to actually work, right?  Kinda fun, though.<br>
<br>
</div>I think there are two questions:<br>
<br>
* Will this actually break something?<br></blockquote><div><br></div><div>I imagine we want magics to be identifiers, but I guess `%%...&lt;space&gt;` is sufficiently well defined that there&#39;s no technical reason why any unicode characters should be illegal.</div>

<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
* Is another name for this magic clearer?<br></blockquote><div><br></div><div>I was just going to call it `%%shebang`, I think `%%#!` is a few too many special characters in a row.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
Cheers,<br>
<br>
Brian<br>
<br>
&gt; -MinRK<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; IPython-dev mailing list<br>
&gt; <a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
&gt;<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
Brian E. Granger<br>
Cal Poly State University, San Luis Obispo<br>
<a href="mailto:bgranger@calpoly.edu">bgranger@calpoly.edu</a> and <a href="mailto:ellisonbg@gmail.com">ellisonbg@gmail.com</a><br>
_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
</font></span></blockquote></div><br>