<html><head><style type="text/css" media="screen">Body{font-family: Verdana;font-size:.75em;}h4{font-size:.9em;}a{color: #3a62a6;}.digest .toc {margin-bottom: 15px; padding-bottom:8px; border-bottom: 1px solid #ccc;}.digest .tocItem {margin-bottom: 15px;}.tocItem a{color:#000;text-decoration: none;}.tocItem a:hover{color: #3a62a6;text-decoration: underline;}.topic{padding-bottom: 8px;margin-bottom: 20px; border-bottom: 1px solid #ccc;}.topicHeader{margin-bottom:10px;}.topicTitle{font-weight: bold;}.replies p{margin:0;padding:0;}.replies hr{width: 15%;text-align: left;margin: 0 auto 5px 0;border: none 0;border-top: 1px solid #ccc;height: 1px;}.reply{margin-bottom: 6px;padding-bottom: 4px;}.anchorMarker{color: #3a62a6;}.footer{color: gray;}</style></head><body><div class="digest"><p>Hi ironpython,</p><p>Here's your Daily Digest of new issues for project "<a href="http://ironpython.codeplex.com/">IronPython</a>".</p><p>In today's digest:</p><h4>ISSUES</h4><div class="toc"><div class="tocItem"><a href="#toc_issue_1">1. <span class="tocTitle">[New issue] 2.7.2.1: ast.py fails on Lib/subprocess.py</span> <span class="anchorMarker">↓</span></a></div><div class="tocItem"><a href="#toc_issue_2">2. <span class="tocTitle">[New comment] 2.7.2.1: ast.py fails on Lib/subprocess.py</span> <span class="anchorMarker">↓</span></a></div><div class="tocItem"><a href="#toc_issue_3">3. <span class="tocTitle">[New comment] pyc.py: generates exes which fail on using std python libs</span> <span class="anchorMarker">↓</span></a></div><div class="tocItem"><a href="#toc_issue_4">4. <span class="tocTitle">[New comment] pyc.py: generates exes which fail on using std python libs</span> <span class="anchorMarker">↓</span></a></div><div class="tocItem"><a href="#toc_issue_5">5. <span class="tocTitle">[New issue] Func<object> coersions in IList</span> <span class="anchorMarker">↓</span></a></div></div><h4>ISSUES</h4><div class="topic"><a name="toc_issue_1"></a><div class="topicHeader"><span class="topicTitle">1. [New issue] 2.7.2.1: ast.py fails on Lib/subprocess.py</span> <a href="http://ironpython.codeplex.com/workitem/32446">view online</a></div><p>User ddewaleffe has proposed the issue:</p><p>"Parsing with ast module fails in subprocess.py:<br /><br />bash-3.2$ ipy ipy-bug.py<br />Parsing file: c:\s\ipy27\Lib\subprocess.py<br />Got exception while parsing<br />Traceback (most recent call last):<br /> File "ipy-bug.py", line 8, in <module><br /> root=ast.parse(src,filename)<br /> File "C:\s\ipy27\Lib\ast.py", line 37, in parse<br /> return compile(source, filename, mode, PyCF_ONLY_AST)<br />TypeError: Unexpected expression type: IronPython.Compiler.Ast.SetExpression<br />bash-3.2$<br /><br />Attached is the way to reproduce (module path to the file)..."</p></div><div class="topic"><a name="toc_issue_2"></a><div class="topicHeader"><span class="topicTitle">2. [New comment] 2.7.2.1: ast.py fails on Lib/subprocess.py</span> <a href="http://ironpython.codeplex.com/workitem/32446">view online</a></div><p>User ddewaleffe has commented on the issue:</p><p>"Also fails in random.py:<br />Parsing file: C:\s\ipy27\Lib\random.py<br />Got exception while parsing or visiting nodes: returning what we have so far...<br />Traceback (most recent call last):<br /> File "C:\Users\ddw\Documents\0-dropbox\My Dropbox\Prg\ipy\finddeps.py", line 55, in dire<br />ct_deps<br /> root=ast.parse(src,self.filename)<br /> File "C:\s\ipy27\Lib\ast.py", line 37, in parse<br /> return compile(source, filename, mode, PyCF_ONLY_AST)<br />ValueError: Unexpected PyOperator: TrueDivide<br />Parameter name: op<br /><br />Probably good to add a test that tries parsing all the source libs provided ..."</p></div><div class="topic"><a name="toc_issue_3"></a><div class="topicHeader"><span class="topicTitle">3. [New comment] pyc.py: generates exes which fail on using std python libs</span> <a href="http://ironpython.codeplex.com/workitem/32420">view online</a></div><p>User ddewaleffe has commented on the issue:</p><p>"I attach findeps.py and my modified pyc.py (packaged in zip)<br /><br />This relies on ast.py to recursively find imports and generate a list of files to be compiled along the main ones.<br />It works for the small examples I tried.<br />It may miss dependencies if ast.py fails to parse a source file (e.g: subprocess.py, random.py)<br />"</p></div><div class="topic"><a name="toc_issue_4"></a><div class="topicHeader"><span class="topicTitle">4. [New comment] pyc.py: generates exes which fail on using std python libs</span> <a href="http://ironpython.codeplex.com/workitem/32420">view online</a></div><p>User slide_o_mix has commented on the issue:</p><p>"What license would you attribute to finddeps.py? I think we would need it something similar to Apache in order to include it."</p></div><div class="topic"><a name="toc_issue_5"></a><div class="topicHeader"><span class="topicTitle">5. [New issue] Func<object> coersions in IList</span> <a href="http://ironpython.codeplex.com/workitem/32451">view online</a></div><p>User dsblank has proposed the issue:</p><p>"These two C# functions behave very differently when passed IronPython functions (PythonFunction, builtin, lambda, etc):<br /><br />public void function1(params Func<object> [] functions) {<br /> foreach (Func<object> function in functions) {<br /> function();<br /> }<br />}<br />public void function2(IList<Func<object>> functions) {<br /> foreach (Func<object> function in functions) {<br /> function();<br /> }<br />}<br /><br />The first works as expected and executes the code. The second can't convert the IronPython function to a Func<object>.<br /><br />Workaround:<br /><br />public void function3 (IList<dynamic> functions) {<br /> foreach (dynamic function in functions) {<br /> Func<object> func = IronPython.Runtime.Converter.Convert<Func<object>>(function);<br /> func();<br /> }<br />}<br /><br />[Tested in MonoDevelop for .NET 4 on Windows7 64-bit. Need to include System.Core and Microsoft.CSharp.]<br /><br />Dino says in mailing list Mar 17, 2012:<br /><br />"""<br />...this doesn't so much deal with [two different paths] rather than how our IList<T> wrapper is implemented in ConversionWrappers.cs. The indexer is just doing a C# cast from the value to the T type. That could easily be changed to do a full Python conversion.<br /><br />I think doing an is check first and only doing the conversion if it's not already the proper type would be an alright change. But it could be a little surprising in that sometimes you could get a new instance each time you access an element (e.g. a new delegate could be created each time).<br />"""<br />-Doug"</p></div><div class="footer"><p>You are receiving this email because you subscribed to notifications on CodePlex.</p><p>To report a bug, request a feature, or add a comment, visit <a href="http://ironpython.codeplex.com/workitem/list/basic">IronPython Issue Tracker</a>. You can <a href="https://ironpython.codeplex.com/subscriptions/workitem/project/edit">unsubscribe or change your issue notification settings</a> on CodePlex.com.</p></div></div></body></html>