<div class="gmail_quote">On Fri, Aug 10, 2012 at 3:49 PM, Matthew Brett <span dir="ltr">&lt;<a href="mailto:matthew.brett@gmail.com" target="_blank">matthew.brett@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">

Hi,<br>
<div class="im"><br>
On Fri, Aug 10, 2012 at 5:39 PM, MinRK &lt;<a href="mailto:benjaminrk@gmail.com">benjaminrk@gmail.com</a>&gt; wrote:<br>
</div><div class="im">&gt; You can use &#39;--&#39; to halt argument parsing in argparse, so you should be able<br>
&gt; to do:<br>
&gt;<br>
&gt; %R -- c(1, -1)<br>
<br>
</div>Yes, indeed - that was in my original mail as a workaround, but<br>
understanding why that&#39;s a good idea requires understanding that the<br>
whole line is being option parsed, and so it&#39;s a bit heavy on the eye,<br>
and I found I was preferring either to use cell magics or adjust the<br>
whitespace in the line to avoid the option parsing...<br>
<br>
I think most people would expect the options to follow the magic<br>
command and be clustered together, but would not expect to consider<br>
options at any position in the input string.  I don&#39;t think there&#39;s a<br>
way to make argparse do that by default...<br></blockquote><div><br></div><div>I don&#39;t think that&#39;s possible.  This is actually why I have tried to avoid having options in line magics that also take a blob.  For instance, %px takes none of the options %%px can take, because I have been burned so many times by the magics that take python code, such as %timeit getting parsed inappropriately.</div>

<div><br></div><div>The only reasonable approaches I see:</div><div><br></div><div>1. line magics that take blobs (e.g. Python code, or R code) should not take any options (or at least minimal ones that can be parsed simply and manually from the front or back of the argstring)</div>

<div>2. *always* use an explicit delimiter for line magics that separates flags from the blob.</div><div><br></div><div>2. is really identical to cell magics, where the delimiter is a newline.</div><div><br></div><div>With the advent of cell magics, I am inclined to remove as many options as we can from line magics that take code.</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>
Matthew<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<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>
</div></div></blockquote></div><br>